Таблица oc_stock_status
Таблица oc_stock_status является справочником и хранит варианты текстового отображения статуса наличия товара на складе. Эти статусы (например, "В наличии", "Нет в наличии", "Под заказ") показываются покупателям на странице товара и в списках товаров вместо или вместе с количеством.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
stock_status_id |
int |
Уникальный идентификатор статуса наличия. Первичный ключ таблицы. |
language_id |
int |
Идентификатор языка. Внешний ключ для таблицы oc_language. Позволяет хранить переводы одного статуса для разных языков магазина.
|
name |
varchar(32) |
Название статуса, которое видит пользователь (например, "In Stock", "Out Of Stock", "Pre-Order"). |
Как это работает
В настройках OpenCart (Система → Настройки → Опции магазина → Вкладка "Toвар") администратор может включить или отключить отображение количества товаров на складе. В зависимости от этого настройки и от фактического количества товара (поле quantity в таблице oc_product) система решает, что показать покупателю.
Если отображение количества отключено, то вместо цифр покупатель видит текстовый статус из этой таблицы. Система сопоставляет количество товара с диапазонами, заданными в настройках stock status (Каталог → Toвары → Вкладка "Опции" → Блок "Stock Status"), и выбирает соответствующий stock_status_id.
Поскольку OpenCart - многоязычная система, для каждого статуса необходимо создать запись для каждого активного языка магазина. Таким образом, один и тот же stock_status_id будет иметь несколько записей с разными language_id, но одинаковым смыслом названия (name).
Статусы по умолчанию (например, "В наличии") являются системными и их удаление может привести к ошибкам в работе магазина. Рекомендуется не удалять, а редактировать существующие статусы или добавлять новые.
Пример SQL-запроса
Посмотреть все статусы наличия для русского и английского языков:
SELECT ss.stock_status_id, l.name as language, ss.name
FROM oc_stock_status ss
LEFT JOIN oc_language l ON (ss.language_id = l.language_id)
WHERE l.code IN ('ru', 'en')
ORDER BY ss.stock_status_id, l.language_id;
Смотрите также
-
таблицу
oc_product,
где хранится количество товара и ссылка на его статус -
таблицу
oc_language,
справочник языков магазина