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

Таблица oc_category_to_store

Таблица oc_category_to_store является ключевым элементом мультимагазинной (multistore) функциональности OpenCart. Она определяет, в каких магазинах доступна та или иная категория товаров.

Поля

Поле Тип данных Описание
category_id int Идентификатор категории. Внешний ключ, ссылается на таблицу oc_category.
store_id int Идентификатор магазина. Внешний ключ, ссылается на таблицу oc_store.

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

Каждая запись в таблице представляет собой связь "многие ко многим" между категориями и магазинами. Если категория должна отображаться в определенном магазине, в эту таблицу добавляется соответствующая пара category_id - store_id.

По умолчанию, при создании новой категории в админ-панели OpenCart, она автоматически связывается со всеми существующими магазинами. Это означает, что для каждой категории создаются записи в oc_category_to_store для каждого store_id.

В настройках категории (вкладка "Магазины") администратор может выбрать, в каких именно магазинах должна отображаться данная категория. При сохранении изменений система обновляет записи в таблице oc_category_to_store.

При отображении каталога на фронтенде система проверяет текущий магазин (определяется по домену или другим настройкам) и выбирает только те категории, которые связаны с этим магазином через таблицу oc_category_to_store.

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

Получить все категории, доступные в магазине с ID = 1:

SELECT c.* FROM oc_category c INNER JOIN oc_category_to_store c2s ON (c.category_id = c2s.category_id) WHERE c2s.store_id = 1 AND c.status = 1 ORDER BY c.sort_order, c.category_id;

Проверить, в каких магазинах доступна категория с ID = 25:

SELECT s.* FROM oc_store s INNER JOIN oc_category_to_store c2s ON (s.store_id = c2s.store_id) WHERE c2s.category_id = 25;

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

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