Таблица oc_customer_group
Таблица oc_customer_group является справочником групп покупателей в OpenCart. Группы позволяют разделять клиентов на категории (например, "Обычные", "Оптовые", "VIP") для применения к ним различных правил ценообразования, скидок, налогов и ограничений.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
customer_group_id |
int |
Уникальный идентификатор группы покупателей. Автоинкрементное поле. |
approval |
int |
Флаг, указывающий требуется ли одобрение администратора для регистрации пользователей в этой группе. 1 - требуется, 0 - не требуется.
|
sort_order |
int |
Порядок сортировки группы при отображении в списках. |
Как это работает
Каждый зарегистрированный пользователь в системе принадлежит к одной из групп покупателей. По умолчанию в OpenCart создаются группы: "Default" (обычные покупатели) и "Wholesale" (оптовые покупатели). Администратор может создавать дополнительные группы с различными настройками.
Группы покупателей тесно связаны с системой цен и скидок. В таблицах oc_product_discount, oc_product_special и oc_product_reward указывается, для какой группы покупателей действует сниженная цена, скидка или бонусные баллы.
При регистрации пользователь выбирает группу, к которой хочет принадлежать (если это разрешено настройками). Если для группы установлен флаг approval = 1, то пользователь не сможет войти в систему до тех пор, пока администратор не подтвердит его регистрацию.
Группа пользователя хранится в таблице oc_customer в поле customer_group_id, которое является внешним ключом к таблице oc_customer_group.
Многоязычные описания
Названия и описания групп покупателей хранятся в связанной таблице oc_customer_group_description, которая поддерживает многоязычность. Эта таблица содержит следующие поля:
customer_group_id- ссылка на группуlanguage_id- идентификатор языкаname- название группы на определенном языкеdescription- описание группы
Пример SQL-запроса
Получить список всех групп покупателей с их названиями на русском языке можно следующим запросом:
SELECT cg.customer_group_id, cgd.name, cg.approval, cg.sort_order
FROM oc_customer_group cg
LEFT JOIN oc_customer_group_description cgd ON (cg.customer_group_id = cgd.customer_group_id)
WHERE cgd.language_id = 1
ORDER BY cg.sort_order;
Смотрите также
-
таблицу
oc_customer,
которая хранит информацию о покупателях -
таблицу
oc_customer_group_description,
которая содержит многоязычные описания групп -
таблицу
oc_product_discount,
которая определяет скидки для различных групп покупателей -
таблицу
oc_product_special,
которая определяет специальные цены для групп покупателей