Добрый вечер!
Сделал все как у вас в статье, кроме module/category.php, у меня ocStore 3, и там нет в принципе переменных product_total
остальные файлы поправил легко, там все было как в прошлых версиях движка, а вот с модуль/категории уже проблема возникла.
но судя по всему не в module/category дело, так как в нем на моей версии движка нет product_total переменной вообще
После этого стала появляться ошибка Notice: Undefined variable: product_total in /var/www/html/storage/modification/catalog/controller/product/category.php on line 358
и пропала навигация по страницам.
ошибка уходит, если в файле catalog/controller/product/category.php
вместо getFoundProducts() использовать стандартный getTotalProducts($filter_data);
порядок был правильный, сначала getProducts, потом только getFoundProducts
в чем может быть причина?
и самое грустное, что запросы из getTotalProducts вида
SELECT COUNT(DISTINCT p.product_id) AS total FROM oc_product_to_category p2c LEFT JOIN oc_product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN oc_product p ON (pf.product_id = p.product_id) LEFT JOIN oc_filter f ON (pf.filter_id = f.filter_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '1' AND p.status = '1' AND p.date_available <= '2019-08-15 17:49:00' AND p2s.store_id = '0' AND p2c.category_id = '94' AND pf.filter_id IN (76) GROUP BY p.product_id HAVING COUNT(DISTINCT f.filter_group_id) = 1;
так и остались, хотя должны были использоваться новые, ну и как выполнялись по 0.5 сек, так и выполняются дальше по 0.5 сек
и остались они судя по всему, что вызываются под вызовом функции getCategories в файле controller/product/category.php
$results = $this->model_catalog_category->getCategories($category_id);
foreach ($results as $result) {
$filter_data = array(
'filter_category_id' => $result['category_id'],
'filter_sub_category' => true
);
$data['categories'][] = array(
'name' => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
это можно как-нибудь ускорить?