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

Таблица oc_layout_route

Таблица oc_layout_route является системной таблицей в OpenCart, которая связывает макеты (layouts) с определенными URL-маршрутами. Это позволяет назначать разные макеты страниц для различных разделов магазина, категорий товаров, производителей, информационных страниц и специальных маршрутов.

Поля

Поле Тип данных Описание
layout_route_id int Уникальный идентификатор записи связи макета с маршрутом. Автоинкрементное поле.
layout_id int Внешний ключ, который связывает маршрут с конкретным макетом. Ссылается на таблицу oc_layout.
store_id int ID магазина, для которого действует это правило. Ссылается на таблицу oc_store. Значение 0 означает, что правило применяется ко всем магазинам.
route varchar(255) Маршрут (route) OpenCart, для которого применяется данный макет. Определяет, для каких URL-адресов будет использоваться указанный макет.

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

В админ-панели OpenCart при редактировании макета можно указать, для каких маршрутов он должен применяться. Система сохраняет эти настройки в таблицу oc_layout_route.

Когда пользователь заходит на страницу магазина, система OpenCart анализирует текущий URL и определяет соответствующий маршрут. Затем выполняется поиск в таблице oc_layout_route для определения макета, который должен быть применен для этого маршрута.

Поиск осуществляется в следующем порядке приоритета:

  1. Конкретный маршрут для текущего магазина
  2. Конкретный маршрут для всех магазинов (store_id = 0)
  3. Общий маршрут для текущего магазина
  4. Общий маршрут для всех магазинов (store_id = 0)

Типичные примеры маршрутов:

  • product/category - для категорий товаров
  • product/product - для карточек товаров
  • product/manufacturer - для производителей
  • information/information - для информационных страниц
  • common/home - для главной страницы

Также поддерживаются специальные маршруты с параметрами, например product/category&path=20_27 для конкретной категории.

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

Посмотреть все связи макетов с маршрутами для конкретного магазина:

SELECT lr.*, l.name as layout_name FROM oc_layout_route lr LEFT JOIN oc_layout l ON (lr.layout_id = l.layout_id) WHERE lr.store_id = 0 OR lr.store_id = 1 ORDER BY lr.route;

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

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