Opencart 全类 ul li 树

Posted

技术标签:

【中文标题】Opencart 全类 ul li 树【英文标题】:Opencart full category ul li tree 【发布时间】:2018-03-29 21:27:37 【问题描述】:

目前在 opencart 中,系统仅限于显示 2 个级别的类别。有谁知道获取所有子类别和完整 ul li 树的类?

例如:如果您曾经使用过 oscommerce,它将在侧面类别菜单中显示完整的子猫树,因为 opencart 仅限于两个级别。

默认代码是这样的

        $categories = $this->model_catalog_category->getCategories(0);

    foreach ($categories as $category) 
        $children_data = array();

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

            foreach($children as $child) 
                $filter_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($filter_data) . ')' : ''),
                    'href' => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])
                );
            
        

但是它只有两个级别,我正在寻找所有级别来构建手风琴菜单。

此外,我不是在找人来做这件事,(除非你愿意),但也许你可以为我指明正确的方向或指向可以实现这一目标的现有课程。

【问题讨论】:

没有任何类可以检索所有类别级别。要获取类别层次结构,您必须明确获取每个类别的每个级别。就像默认情况下它为每个类别获取一个级别的子类别一样,因此您必须获取每个子类别的子子类别。 【参考方案1】:

您需要手动添加每个子级别以获得第 3 次、第 4 次等。没有办法一次性获得所有子级别。

有一个较旧的 *** 线程,其中包含有关如何添加第 3 级的解决方案。也许它适用于您的 OC 版本:

get third level category in opencart 2

您基本上需要为类别编辑控制器和 tpl 文件。如果这对你来说太过分了,他们也会在他们的市场上出售一个扩展。

【讨论】:

以上是关于Opencart 全类 ul li 树的主要内容,如果未能解决你的问题,请参考以下文章

UL LI树,在客户端部分

在php中以ul li格式解析树数据时遇到一些困难

JavaScript基础 -- 常见DOM树操作

JS--操作DOM树

将 JSON 数组转换为 <ul> 和 <li> 元素

jQuery EasyUI API 中文文档 - Tree树使用介绍