【发布时间】:2019-11-18 20:45:43
【问题描述】:
我正在尝试找到解决方案,但仍然没有运气。我想显示从子类别到父类别的所有产品。
我正在使用 Opencart 1.5.3.1
【问题讨论】:
标签: categories product opencart
我正在尝试找到解决方案,但仍然没有运气。我想显示从子类别到父类别的所有产品。
我正在使用 Opencart 1.5.3.1
【问题讨论】:
标签: categories product opencart
看了源码,我想通了:
在catalog/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);
如果您使用的是更高版本,请确保检查其他答案;)
【讨论】:
$filter_data,它位于第 170 行。
另一种解决方案,不是直接修改核心文件,而是使用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>
【讨论】:
目录/控制器/产品/category.php
对于 Opencart 版本 2.1.0.2,Ignacio 的解决方案也可以正常工作:
$data (of version 1.5.x)现在被称为
$filter_data (line #169)
然后添加一行
'filter_sub_category' => 是的,
在第 170 行之后 ('filter_category_id' => $category_id,)
感谢伊格纳西奥!
【讨论】:
vqmod 方法是最好的并且很容易工作。只需添加该文件和anything.xml 并将其放在vqmod > xml
【讨论】:
只是提供更多信息,最新版本使用“ocmod”,OpenCart 自己的 vqmod 功能。它可以通过那里以相同的方式工作。
【讨论】:
对于 Opencart 3.x: ./catalog/controller/product/category.php
找到:
'filter_category_id' => $category_id,
在之后添加:
'filter_sub_category' => true,
更改文件后,点击“修改”和“清除”和“更新”按钮
【讨论】: