【问题标题】:How to display products from subcategory to parent category in opencart?如何在opencart中显示从子类别到父类别的产品?
【发布时间】:2019-11-18 20:45:43
【问题描述】:

我正在尝试找到解决方案,但仍然没有运气。我想显示从子类别到父类别的所有产品。

我正在使用 Opencart 1.5.3.1

【问题讨论】:

    标签: categories product opencart


    【解决方案1】:

    看了源码,我想通了:

    在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);
    

    如果您使用的是更高版本,请确保检查其他答案;)

    【讨论】:

    • 这真的很有帮助。简单的解决方案,对用户体验的影响很大。
    • 澄清一下,这会修改 OpenCart 的核心文件,这是相当讨厌的。并不是说使用 vQmod 也不是丑陋的......
    • 很好的解决方案。谢谢楼主
    • 我同意,即使在较新的版本 (2.0.3.1) 中也能正常工作,var 名称刚刚更改为 $filter_data,它位于第 170 行。
    • 对不起@IvanStin,这个 Q 已经很老了,说我使用的是 v1.5.3.1。也许社区的人可以检查 2.3
    【解决方案2】:

    另一种解决方案,不是直接修改核心文件,而是使用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>
    

    来源:https://gist.github.com/jaywilliams/8044763

    【讨论】:

      【解决方案3】:

      目录/控制器/产品/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' =&gt; $category_id,)

      感谢伊格纳西奥!

      【讨论】:

        【解决方案4】:

        vqmod 方法是最好的并且很容易工作。只需添加该文件和anything.xml 并将其放在vqmod > xml

        【讨论】:

          【解决方案5】:

          只是提供更多信息,最新版本使用“ocmod”,OpenCart 自己的 vqmod 功能。它可以通过那里以相同的方式工作。

          【讨论】:

            【解决方案6】:

            对于 Opencart 3.x: ./catalog/controller/product/category.php

            找到:

            'filter_category_id' => $category_id,
            

            在之后添加:

            'filter_sub_category' => true,
            

            更改文件后,点击“修改”和“清除”和“更新”按钮

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-07-30
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多