Я пытаюсь найти решение, но все равно не повезло. Я хочу отображать все продукты из подкатегорий в родительскую категорию.
Я использую Opencart 1.5.3.1
Я пытаюсь найти решение, но все равно не повезло. Я хочу отображать все продукты из подкатегорий в родительскую категорию.
Я использую Opencart 1.5.3.1
После чтения источника я понял:
В каталоге /controller/product/category.php(или везде, где вы вызываете функцию model_catalog_product- > getProducts), вы должны добавить filter_sub_category = true
:
$data = array(
'filter_category_id' => $top_category,
'filter_sub_category' => true,
'sort' => $sort,
'order' => $order,
'start' => ($page - 1) * $limit,
'limit' => $limit
);
$product_total = $this->model_catalog_product->getTotalProducts($data);
Убедитесь, что вы проверяете другие ответы, если используете более позднюю версию;)
Другим решением, а не модификацией основных файлов напрямую, является использование vQmod, чтобы изменить файл для вас. Таким образом, при обновлении до новой версии вам не придется повторно устанавливать какие-либо выполненные вами изменения.
Ниже приведен код, который вы использовали для выполнения этого в vQmod:
<?xml version="1.0" encoding="UTF-8"?>
<modification>
<id>Display products in sub-categories while browsing a parent category</id>
<version>1.0.0</version>
<vqmver>2.4.0</vqmver>
<author>Jay Williams - [email protected]</author>
<file name="catalog/controller/product/category.php">
<operation>
<search position="after"><![CDATA['filter_category_id' => $category_id,]]></search>
<add><![CDATA['filter_sub_category' => true,]]></add>
</operation>
</file>
</modification>
каталог/контроллер/продукта/category.php
Для Opencart версии 2.1.0.2 решение Ignacio также штрафует за то, что:
$data (of version 1.5.x)
теперь называется
$filter_data (line #169)
Затем просто добавьте строку
'filter_sub_category' = > true,
после строки # 170 ('filter_category_id' => $category_id,
)
Спасибо Игнасио!
метод vqmod является лучшим и работает легко. просто добавьте этот файл и anything.xml и поместите его в vqmod > xml
Просто добавив еще одну информацию, новейшие версии используют "ocmod", собственную функцию vqmod OpenCart. Он может работать таким же образом.