Если товара нет в наличии, то он не отображается в отображении сеткой/списком в категории. Решение не элегантное, при обновлении придётся повторять все действия.
Ограничения: Решение будет работоспособно только в случае стандартного вывода товаров категории(с помощью шаблона /template/product/category.tpl); При обновлении движка/темы решение перестанет работать. Внимание: создайте резервные копии изменяемых файлов, используйте нормальные текстовые редакторы, н-р notepad++.
-
в файле контроллера
/catalog/controller/product/category.php
-
перед
$data['products'][] = array(
добавитьif ($result['quantity']<=0) { $in_stock = false; } else { $in_stock = true; }
- после
'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] /*. $url*/),
добавить'in_stock' => $in_stock
-
-
в файле шаблона
/catalog/view/theme/***/template/product/category.tmpl
где***
- название вашего шаблона- после
<?php foreach ($products as $product) { ?>
добавить<?php if($product['in_stock']){?>
- после закрытия
<?php foreach ($products as $product) { ?>
код отображения одной(каждой) карточки товара<?php } ?>
добавить ещё одно<?php } ?>
- Обязательно проверить что закрываются необходимые скобки. Открывающая скобка
{,
закрывающая}
- после