Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Opencart的类别模块中仅显示子类别_Php_Html_Opencart - Fatal编程技术网

Php 在Opencart的类别模块中仅显示子类别

Php 在Opencart的类别模块中仅显示子类别,php,html,opencart,Php,Html,Opencart,是否有一种方法或扩展可以修改类别模块,使其仅显示当前顶级类别页面的子类别 例如,如果我在“笔记本电脑和台式机”类别页面上,侧边栏模块将只列出与“笔记本电脑和台式机”类别相关联的子类别,例如主标题为“笔记本电脑和台式机”的“Mac”和“PC”(而不列出或显示任何其他顶级类别).php以以下方式更新catalog/controller/module/category.php中的foreach部分,以仅在左栏中显示子类别 $cur_category_id = $this->data['c

是否有一种方法或扩展可以修改类别模块,使其仅显示当前顶级类别页面的子类别


例如,如果我在“笔记本电脑和台式机”类别页面上,侧边栏模块将只列出与“笔记本电脑和台式机”类别相关联的子类别,例如主标题为“笔记本电脑和台式机”的“Mac”和“PC”(而不列出或显示任何其他顶级类别).php

以以下方式更新
catalog/controller/module/category.php中的
foreach
部分,以仅在左栏中显示子类别

    $cur_category_id = $this->data['category_id']; // new code 
    foreach ($categories as $category) {
        $children_data = array();

        $children = $this->model_catalog_category->getCategories($category['category_id']);

        foreach ($children as $child) {
            $data = array(
                'filter_category_id'  => $child['category_id'],
                'filter_sub_category' => true
            );

            $children_data[] = array(
                'category_id' => $child['category_id'],
                'name'        => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($data) . ')' : ''),
                'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) 
            );  

            if($cur_category_id && $cur_category_id == $category['category_id']){
                $this->data['heading_title'] =  $category['name'];
                $this->data['categories'][] = array(
                    'category_id' => $child['category_id'],
                    'children'    => array(),
                    'name'        => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($data) . ')' : ''),
                    'href'        => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id']) 
                );
            }
        }

        $data = array(
            'filter_category_id'  => $category['category_id'],
            'filter_sub_category' => true
        );
        /*
        $this->data['categories'][] = array(
            'category_id' => $category['category_id'],
            'name'        => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($data) . ')' : ''),
            'children'    => $children_data,
            'href'        => $this->url->link('product/category', 'path=' . $category['category_id'])
        );  */
    }
注意:我在前面的问题中添加了注释,只显示子类别,没有选择添加到父类别的产品的选项


祝你今天愉快:)

如果将产品添加到父类别中该怎么办?我们在所有父类别中都有子类别,但如果将产品添加到父类别(如“笔记本电脑和台式电脑”)而不是其子类别(如“Mac电脑”和“PC”)中该怎么办?这很好,但它显示了所有父类别的相同子类别。我需要这样的东西。请查看分类页面。我已经用整个foreach部分更新了答案。请检查。谢谢你的密码。但是请检查一下这个。在这里你可以得到我想要的内容。