В стандартном шаблоне (да и во многих других) Opencart 2, в категориях товаров не выводятся остатки. А это очень удобно — при просмотре ассортимента интернет-магазина сразу видеть количество товара на складе. В этой статье решим данное упущение.
Содержание
Остатки товара в категориях Опенкарт 2
Итак, выводить остаток товара в категории можно двумя разными видами:
- Выводить только статус товара на складе: «в наличии», «нет в наличии», «предзаказ»
- Показывать количество на складе для каждой позиции: 1,2…. штук
Рассмотрим, как сделать вывод каждого вида складской справки в категориях Opencart 2 (OcStore 2).
Вывод статуса товара на складе в категориях интернет-магазина на Опенкарт 2
Чтобы выводить статус товара в категориях, нужно чтобы этот статус бы изначально определён. Для этого: переходим в административную часть сайта и в разделе «Система» — «Локализация» — «Состояние на складе».
Здесь должен быть статус для товара в наличии, например, «В наличии». Также — статус для отсутствующих товаров, например, «Предзаказ».
Далее, при редактировании товара, на вкладе «Данные», в строке «Отсутствие на складе:» нужно выбрать каждому товару соответствующий статус, который будет показываться, если его товара не будет на складе.
Далее, чтобы выводить эти статусы в категориях, делаем следующее:
- Открываем файл по пути catalog/controller/product/category.php и перед:
1$this->data['products'][] = array(
добавляем
1$stock_status = $result['stock_status']; - В этом же файле, после (второе вхождение)
1$this->data['products'][] = array(
добавляем
1'stock_status' => $stock_status, - Затем, открываем файл по пути catalog/view/theme/*/template/product/category.tpl и в нужном месте вставляем:
1<?php echo $product['stock_status']; ?>
этот код выведет статус: «в наличии» или «предзаказ».
Вывод количества товара на складе в категориях интернет-магазина на Опенкарт 2
Чтобы вывести конкретное количество товара в категории, нужно открыть файл по пути catalog/controller/product/category.php и после:
1 |
'name' => $result['name'], |
Добавить:
1 |
'stock' => $result['quantity'], |
Затем, в нужном месте файла по пути catalog/view/theme/*/template/product/category.tpl, вставить:
1 |
<div><?php echo $product['stock']; ?></div> |
Чтобы были не просто цифры, а, например, надпись «На складе: 5 шт.», нужно вставить вместо приведённого выше кода, такой код:
1 |
<div>На складе: <?php echo $product['stock']; ?>шт.</div> |
Имейте ввиду, что текст должен быть сохранён в кодировке UTF-8 (зачастую).
Вот так легко и просто показывать посетителям в категориях интернет-магазина на Opencart 2 складскую справку!