Столкнулся с проблемой. Товара нет в наличии, кол-во стоит 0, цена пока тоже 0, статус "временно отсутствует" но в табах в "Новинках" он присутствует. А это нелогично.. Покурил форумы и нашёл самое безболезненное решение. Файл: catalog/model/catalog/product.php в функции getLatestProducts (для версии ocshop 1.5.6.4.1 строка ~485) запрос вида
$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id= p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT " . (int)$limit); меняем на это
$query = $this->db->query("SELECT p.product_id FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id= p2s.product_id) WHERE p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p.quantity > 0 AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY p.date_added DESC LIMIT " . (int)$limit); Всё, в табе товар с нулевым кол-вом более не выводится. нашёл тут там в теме есть ещё решение для модулей. P.S. Не забывайте ОЧИСТИТЬ КЭШ!