НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
78 of 152 menu

Таблица oc_layout_module

Таблица oc_layout_module является связующей таблицей в OpenCart. Она определяет, какие модули выводятся на каких макетах (страницах), в каких позициях шаблона и в каком порядке. Эта таблица заполняется автоматически при настройке модуля через административную панель, когда вы выбираете макеты для его отображения.

Поля

Поле Тип данных Описание
layout_module_id int Уникальный идентификатор связи макета и модуля (AUTO_INCREMENT).
layout_id int Внешний ключ, который связывает запись с конкретным макетом. Ссылается на oc_layout.
code varchar(64) Системный код модуля. Содержит путь к модулю в формате module/название_модуля (например, module/carousel) или код модуля, установленного через расширения (например, featured).
position varchar(14) Позиция в шаблоне, где должен быть выведен модуль. Распространенные значения: content_top, content_bottom, column_left, column_right.
sort_order int Порядок сортировки для вывода модулей внутри одной и той же позиции. Модули выводятся в порядке возрастания этого значения.

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

В админ-панели, при редактировании модуля, администратор выбирает макеты страниц, на которых этот модуль должен отображаться, а также указывает его позицию и порядок.

Например, чтобы вывести модуль "Карусель" в правой колонке на главной странице, в таблицу oc_layout_module будет добавлена запись, где layout_id соответствует макету "Главная", code равен module/carousel, position равен column_right, а sort_order определяет его положение среди других модулей в этой же колонке.

Когда пользователь открывает страницу на сайте, система OpenCart определяет, какой макет к ней относится. Затем она ищет в oc_layout_module все модули, привязанные к этому макету (layout_id), группирует их по позициям (position) и выводит, сортируя по sort_order.

Один и тот же модуль может быть привязан к нескольким макетам, создавая несколько записей в этой таблице с разными layout_id.

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

Посмотреть все модули, привязанные к макету с ID 5, можно следующим запросом:

SELECT lm.*, l.name as layout_name FROM oc_layout_module lm LEFT JOIN oc_layout l ON (lm.layout_id = l.layout_id) WHERE lm.layout_id = 5 ORDER BY lm.position, lm.sort_order;

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

  • таблицу oc_layout,
    которая хранит информацию о макетах страниц
  • таблицу oc_module,
    которая хранит настройки экземпляров модулей
  • таблицу oc_setting,
    которая также хранит настройки модулей для мультисторе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить