Стажировка на реальных проектах:
наполнение портфолио, помощь с работой и заказами, пробные собеседования. Жми для подробностей→
31 of 152 menu
Внимание! Репетиторство по Python! Осталось последнее место! Стоимость: 20$ за занятие 1.5 часа. Жми для подробностей!

Таблица oc_customer_group_description

Таблица oc_customer_group_description предназначена для хранения переводов названий и описаний групп покупателей. Она позволяет иметь разные названия для одной и той же группы на разных языках, что необходимо для многоязычных магазинов OpenCart.

Поля

Поле Тип данных Описание
customer_group_id int Внешний ключ, который связывает описание с конкретной группой покупателей. Ссылается на таблицу oc_customer_group.
language_id int Внешний ключ, который указывает на язык перевода. Ссылается на таблицу oc_language.
name varchar(32) Название группы покупателей на конкретном языке (например, "Розничные покупатели", "Оптовики", "VIP-клиенты").
description text Описание группы покупателей, которое может отображаться при регистрации или в личном кабинете. Может содержать условия, преимущества и особенности группы.

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

В OpenCart администратор может создавать различные группы покупателей (например, "По умолчанию", "Опт", "Дропшиппинг") в таблице oc_customer_group. Каждая такая группа получает свой уникальный customer_group_id.

Для поддержки многоязычности система создает отдельные записи в таблице oc_customer_group_description для каждого языка, на котором работает магазин. Таким образом, для группы с customer_group_id = 2 будет существовать несколько записей: одна с language_id = 1 (например, русский) и полем name = "Оптовые покупатели", и другая с language_id = 2 (например, английский) и полем name = "Wholesale Customers".

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

Первичный ключ этой таблицы состоит из двух полей: customer_group_id и language_id, что гарантирует уникальность комбинации "группа-язык".

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

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

SELECT cgd.*, l.name as language_name, l.code as language_code FROM oc_customer_group_description cgd LEFT JOIN oc_language l ON (cgd.language_id = l.language_id) ORDER BY cgd.customer_group_id, cgd.language_id;

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

SELECT cgd.name, l.name as language_name FROM oc_customer_group_description cgd LEFT JOIN oc_language l ON (cgd.language_id = l.language_id) WHERE cgd.customer_group_id = 2;

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

  • таблицу oc_customer_group,
    которая хранит основные настройки групп покупателей
  • таблицу oc_customer,
    которая содержит данные покупателей и ссылается на их группу
  • таблицу oc_language,
    которая хранит список доступных языков магазина