Таблица oc_banner
Таблица oc_banner является центральной таблицей для управления баннерами в OpenCart. Она хранит основную информацию о баннерных группах, в то время как изображения и ссылки для каждой группы хранятся в связанной таблице oc_banner_image.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
banner_id |
int |
Уникальный идентификатор баннера (баннерной группы). Автоинкремент. |
name |
varchar(64) |
Название баннерной группы. Это название отображается в админ-панели при выборе баннера для модуля. |
status |
tinyint(1) |
Статус баннера. 1 - включен, 0 - выключен. Выключенные баннеры не отображаются на сайте.
|
Как это работает
В админ-панели OpenCart в разделе "Дизайн" → "Баннеры" администратор создает баннерные группы. Каждая группа (запись в oc_banner) представляет собой контейнер для одного или нескольких изображений (слайдов), которые могут быть показаны в одном месте на сайте.
Для каждой баннерной группы затем добавляются изображения через интерфейс админ-панели. Эти изображения, их описания, ссылки и порядок сортировки сохраняются в связанной таблице oc_banner_image, где внешним ключом является banner_id.
Чтобы вывести баннер на сайте, используется модуль "Баннер". При настройке модуля администратор выбирает нужную баннерную группу из выпадающего списка (который формируется на основе записей из oc_banner). Модуль затем делает запрос к таблицам oc_banner и oc_banner_image, чтобы получить все активные изображения для выбранной группы.
Таким образом, одна баннерная группа может быть использована в нескольких модулях одновременно, обеспечивая централизованное управление контентом.
Пример SQL-запроса
Выбрать все активные баннеры с их изображениями можно следующим запросом:
SELECT b.*, bi.*
FROM oc_banner b
LEFT JOIN oc_banner_image bi ON (b.banner_id = bi.banner_id)
LEFT JOIN oc_banner_image_description bid ON (bi.banner_image_id = bid.banner_image_id)
WHERE b.status = 1
ORDER BY b.banner_id, bi.sort_order;
Смотрите также
-
таблицу
oc_banner_image,
которая хранит конкретные изображения баннеров -
таблицу
oc_module,
которая управляет модулями на сайте -
таблицу
oc_layout_module,
которая определяет позиции модулей в макетах