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

Таблица oc_attribute

Таблица oc_attribute является центральной таблицей для системы атрибутов товаров в OpenCart. Она хранит основную информацию об атрибутах, которая не зависит от языка. Каждый атрибут представляет собой характеристику товара, которая может быть использована для описания его свойств (например, "Цвет", "Размер", "Материал").

Поля

Поле Тип данных Описание
attribute_id int Уникальный идентификатор атрибута. Автоинкрементное поле.
attribute_group_id int Внешний ключ, который связывает атрибут с группой атрибутов. Ссылается на таблицу oc_attribute_group.
sort_order int Порядок сортировки атрибута внутри своей группы. Определяет последовательность отображения атрибутов в административной панели и на сайте.

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

Система атрибутов в OpenCart состоит из нескольких связанных таблиц. Таблица oc_attribute хранит только базовую, не зависящую от языка информацию. Для многоязычных названий атрибутов используется таблица oc_attribute_description, которая связана по полю attribute_id.

Атрибуты организованы в группы (через поле attribute_group_id), что позволяет логически группировать характеристики товаров. Например, группа "Характеристики процессора" может содержать атрибуты "Тактовая частота", "Количество ядер", "Кэш-память".

При создании или редактировании товара в административной панели можно назначать ему атрибуты из созданных групп. Значения атрибутов для конкретных товаров хранятся в таблице oc_product_attribute.

Поле sort_order позволяет управлять порядком отображения атрибутов как в административной панели при редактировании товара, так и на витрине магазина в карточке товара.

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

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

SELECT a.attribute_id, ad.name as attribute_name, agd.name as group_name, a.sort_order FROM oc_attribute a LEFT JOIN oc_attribute_description ad ON (a.attribute_id = ad.attribute_id) LEFT JOIN oc_attribute_group ag ON (a.attribute_group_id = ag.attribute_group_id) LEFT JOIN oc_attribute_group_description agd ON (ag.attribute_group_id = agd.attribute_group_id) WHERE ad.language_id = 1 AND agd.language_id = 1 ORDER BY ag.sort_order, a.sort_order;

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

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