Возникла задача спрятать отсутствующие товары из категории, но оставить к ним доступ по прямой ссылке. Суть в том, что поисковые системы хорошо приводят посетителей на сайт (по низкочастотным запросам) по проиндексированным товарам. Потому и удалять уже отсутствующие позиции как-то не охота — ведь посетитель может заинтересоваться другим подобным товаром, который имеется в наличии.
Решение было найдено в сети и состоит из пары строк. Изменения вносим в файле category.php по адресу catalog/controller/product/category.php
Перед строкой
if ($result['image']) {
вставляем следующее:
if ($result['quantity'] > 0) {
И далее, после строки:
'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url) );
закрываем скобку, то есть добавляем такой знак:
}
Всё готово. Теперь при просмотре товаров в категории, товары с количеством, значение которых равно нулю отображаться не будут. Но будут доступны, если посетитель придёт на них из поисковой выдачи либо же по прямой ссылке, размещённой на других web сайтах.
P.S. В качестве испытуемого — OcStore 1.5.5.1.2 & 1.5.5.1.2
По такому же принципу и в OC 2.3 — чуть другой код. Спасибо.