Как отобразить продукты из подкатегории в родительскую категорию в opencart?
Я пытаюсь найти решение, но все-таки не повезло. Я хочу вывести все товары из подкатегорий в родительскую категорию.
Я использую Opencart 1.5.3.1
5 ответов
прочитав источник, я понял:
в каталоге / контроллере/продукте / категории.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 - jay@myd3.com</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>
каталог / контроллер / продукт / категория.в 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 является лучшим и работает легко. просто добавьте этот файл и все такое.xml и поместите его в vqmod > xml
просто добавляя еще одну информацию, новейшие версии используют "ocmod", собственную функцию Vqmod OpenCart. Там он может работать точно так же.