Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
74 of 152 menu
Бесплатный курс по Верстке. От новичка до продвинутого верстальщика! Начало 11 ноября. Жми для записи!

Таблица oc_banner_image

Таблица oc_banner_image является центральным хранилищем для всех изображений, используемых в баннерах системы OpenCart. Каждая запись в этой таблице представляет собой одно изображение, которое может быть привязано к одному или нескольким баннерам через таблицу связей oc_banner_image_description.

Поля

Поле Тип данных Описание
banner_image_id int Уникальный идентификатор изображения баннера. Первичный ключ таблицы.
banner_id int Внешний ключ, связывающий изображение с конкретным баннером. Ссылается на таблицу oc_banner.
link varchar(255) URL-адрес, на который ведет баннер при клике. Может быть относительным или абсолютным путем.
image varchar(255) Путь к файлу изображения относительно корневой директории OpenCart (например, catalog/banners/banner1.jpg).
sort_order int Порядок сортировки изображения внутри баннера. Определяет последовательность отображения изображений в слайдере или списке.

Как это работает

В админ-панели OpenCart создается баннер (например, "Главный слайдер"), которому присваивается banner_id. Затем к этому баннеру добавляются изображения, для каждой из которых создается запись в таблице oc_banner_image с указанием banner_id родительского баннера.

Поле image содержит путь к физическому файлу изображения, который загружается через файловый менеджер OpenCart. Поле link позволяет задать целевой URL для перехода при клике на баннер.

Порядок отображения изображений управляется полем sort_order. Изображения с меньшим значением сортируются первыми.

Многоязычные названия, заголовки и описания для каждого изображения хранятся в отдельной таблице oc_banner_image_description, которая связывается с oc_banner_image по полю banner_image_id.

Пример SQL-запроса

Выбрать все изображения для баннера с ID 1 вместе с их multilingual описаниями:

SELECT bi.*, bid.language_id, bid.title, bid.alt_text FROM oc_banner_image bi LEFT JOIN oc_banner_image_description bid ON (bi.banner_image_id = bid.banner_image_id) WHERE bi.banner_id = 1 ORDER BY bi.sort_order ASC;

Смотрите также

  • таблицу oc_banner,
    которая хранит основные данные баннеров
  • таблицу oc_banner_image_description,
    которая содержит многоязычные описания изображений баннеров
  • таблицу oc_setting,
    которая хранит настройки модулей, включая баннеры