Таблица oc_manufacturer_description
Таблица oc_manufacturer_description предназначена для хранения текстовой информации о производителях на разных языках. Она работает в связке с основной таблицей oc_manufacturer, позволяя создавать многоязычные описания брендов.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
manufacturer_id |
int |
Внешний ключ, связывающий описание с конкретным производителем. Ссылается на таблицу oc_manufacturer.
|
language_id |
int |
Идентификатор языка, для которого предназначено описание. Ссылается на таблицу oc_language.
|
name |
varchar(64) |
Название производителя на конкретном языке. Дублирует основное название из oc_manufacturer, но позволяет иметь разные варианты для разных языков.
|
description |
text |
Подробное описание производителя, его истории, философии и другой информации. Поддерживает HTML-разметку. |
meta_title |
varchar(255) |
Заголовок страницы производителя (тег title) для SEO.
|
meta_h1 |
varchar(255) |
Альтернативный заголовок H1 для страницы производителя. Если не заполнен, используется поле name.
|
meta_description |
text |
Мета-описание страницы производителя для поисковых систем. |
meta_keyword |
text |
Мета-ключевые слова для страницы производителя. |
Как это работает
При создании производителя в админ-панели OpenCart в таблицу oc_manufacturer добавляется основная запись с manufacturer_id. Затем для каждого активного языка магазина в таблицу oc_manufacturer_description создается отдельная запись с этим manufacturer_id и соответствующим language_id.
Когда пользователь просматривает страницу производителя на сайте, система определяет текущий язык и выбирает из oc_manufacturer_description запись с соответствующим language_id для отображения названия, описания и SEO-данных.
Поле name в этой таблице обычно дублирует основное название из oc_manufacturer, но предоставляет возможность иметь разные названия бренда на разных языках (например, транслитерацию или официальное название на языке).
Пример SQL-запроса
Получить все описания для производителя с ID 10 на всех языках:
SELECT md.*, l.name as language_name, l.code as language_code
FROM oc_manufacturer_description md
LEFT JOIN oc_language l ON (md.language_id = l.language_id)
WHERE md.manufacturer_id = 10;
Получить SEO-данные для всех производителей на английском языке:
SELECT m.manufacturer_id, md.name, md.meta_title, md.meta_description
FROM oc_manufacturer m
JOIN oc_manufacturer_description md ON (m.manufacturer_id = md.manufacturer_id)
JOIN oc_language l ON (md.language_id = l.language_id)
WHERE l.code = 'en';
Смотрите также
-
таблицу
oc_manufacturer,
которая содержит основную информацию о производителях -
таблицу
oc_language,
которая хранит список доступных языков -
таблицу
oc_product,
которая содержит информацию о товарах производителей