Таблица oc_filter_group
Таблица oc_filter_group является ключевой частью системы фильтрации в OpenCart. Она хранит группы, которые объединяют отдельные фильтры в логические категории (например, группа "Цвет" может содержать фильтры "Красный", "Синий", "Зеленый").
Поля
| Поле | Тип данных | Описание |
|---|---|---|
filter_group_id |
int |
Уникальный идентификатор группы фильтров. Автоинкрементное поле. |
sort_order |
int |
Порядок сортировки группы фильтров при отображении на странице. Группы с меньшим значением отображаются выше. |
Как это работает
Система фильтрации в OpenCart состоит из трех основных таблиц: oc_filter_group (хранит группы), oc_filter (хранит отдельные фильтры) и oc_product_filter (связывает фильтры с товарами).
Каждая группа фильтров имеет свои многоязычные названия, которые хранятся в таблице oc_filter_group_description. Эта таблица связана с oc_filter_group по полю filter_group_id.
При создании фильтра в административной панели сначала создается группа, затем в нее добавляются конкретные значения фильтров. Группа "Размер" может содержать фильтры "S", "M", "L", "XL".
Поле sort_order позволяет управлять порядком отображения групп фильтров в боковой колонке магазина. Администратор может настроить последовательность, в которой группы будут появляться перед посетителями.
Пример SQL-запроса
Получить все группы фильтров с их названиями на русском языке можно следующим запросом:
SELECT fg.filter_group_id, fgd.name, fg.sort_order
FROM oc_filter_group fg
LEFT JOIN oc_filter_group_description fgd ON (fg.filter_group_id = fgd.filter_group_id)
WHERE fgd.language_id = 1
ORDER BY fg.sort_order ASC;
Смотрите также
-
таблицу
oc_filter,
которая хранит отдельные значения фильтров -
таблицу
oc_filter_group_description,
которая содержит многоязычные описания групп фильтров -
таблицу
oc_product_filter,
которая связывает товары с фильтрами -
таблицу
oc_attribute_group,
которая выполняет аналогичную функцию для групп атрибутов