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

Таблица oc_store

Таблица oc_store является центральной для реализации функции мультимагазина (Multi-Store) в OpenCart. Она позволяет управлять несколькими витринами из одной админ-панели, используя общие товары, категории, клиентов и заказы, но с разными настройками, темами, языками и валютой для каждого магазина.

Поля

Поле Тип данных Описание
store_id int Уникальный идентификатор магазина. Главный магазин всегда имеет ID = 0.
name varchar(64) Название магазина, которое отображается в заголовке браузера и в других мета-данных.
url varchar(255) Полный URL-адрес магазина (например, https://example.com/store2/). Это основа для генерации всех ссылок в данном магазине.
ssl varchar(255) Полный HTTPS URL-адрес магазина (например, https://example.com/store2/). Используется для безопасного соединения. Если не указан, будет использоваться значение из поля url.

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

Функция мультимагазина позволяет создать сеть магазинов, которые могут быть привязаны к разным доменам, поддоменам или даже подпапкам основного домена. Например:

  • https://shop.com (главный магазин)
  • https://fr.shop.com (магазин для французских клиентов)
  • https://shop.com/wholesale (магазин для оптовых покупателей в подпапке)

Каждому магазину в системе можно назначить свои собственные настройки через админ-панель в разделе "Система → Настройки → [Магазин]". Это включает валюту, язык, шаблон, мета-теги, параметры сложения и многое другое. При этом такие сущности, как товары, категории, производители, клиенты и заказы, являются общими для всех магазинов.

Связь между общими данными и конкретными магазинами осуществляется через дополнительные связующие таблицы. Например, таблица oc_product_to_store определяет, в каких магазинах отображается тот или иной товар. Аналогичные таблицы существуют для категорий, производителей и других сущностей.

При посещении пользователем определенного URL система определяет, к какому store_id относится запрос, и загружает соответствующие настройки. Все дальнейшие операции (отображение товаров, корзина, оформление заказа) происходят в контексте этого магазина.

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

Получить список всех магазинов можно простым запросом:

SELECT * FROM oc_store ORDER BY store_id;

Проверить, в каких магазинах отображается товар с ID 42:

SELECT s.name, s.url FROM oc_product_to_store p2s LEFT JOIN oc_store s ON (p2s.store_id = s.store_id) WHERE p2s.product_id = 42;

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

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