首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >opencart在菜单中包含第3个子类别

opencart在菜单中包含第3个子类别
EN

Stack Overflow用户
提问于 2013-01-22 12:43:38
回答 4查看 9.7K关注 0票数 1

我在opencart管理面板中添加了4个类别作为4个级别,

代码语言:javascript
运行
复制
Home
Home -> Furniture
Home -> Furniture -> Wooden (Getting menus up to this level)
Home -> Furniture -> wooden -> Lightweight (Need to display this level)

最初,我在菜单中显示第三级类别时遇到了问题。我使用这个post启用了第三级菜单

像这样,如何启用4级分类。

EN

回答 4

Stack Overflow用户

发布于 2015-11-02 18:42:32

标头控制器

代码语言:javascript
运行
复制
$data['categories'] = array();

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

    foreach ($categories as $category) {

        if ($category['top']) {
            // Level 2
            $children_data = array();

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

            foreach ($children as $child) {

                // Level 3 sultan
                $children_data_3 = array();

                $children_3 = $this->model_catalog_category->getCategories($child['category_id']);

                foreach ($children_3 as $child_3) {

                    $filter_data_3 = array(
                        'filter_category_id'  => $child_3['category_id'],
                        'filter_sub_category' => true
                    );

                    $children_data_3[] = array(
                        'name'  => $child_3['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data_3) . ')' : ''),
                        'href'  => $this->url->link('product/category', 'path=' . $child['category_id'] . '_' . $child_3['category_id'])
                    );
                }
                //end of level 3


                $filter_data = array(
                    'filter_category_id'  => $child['category_id'],
                    'filter_sub_category' => true
                );

                $children_data[] = array(
                    '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']),
                    'grand_childs' => $children_data_3

                );
            }

            // Level 1
            $data['categories'][] = array(
                'name'     => $category['name'],
                'children' => $children_data,
                'column'   => $category['column'] ? $category['column'] : 1,
                'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
            );
        }

    }

第三方物流代码

代码语言:javascript
运行
复制
  <ul class="nav navbar-nav">


    <?php foreach ($categories as $category) { ?>
    <?php if ($category['children']) { ?>


    <li class="dropdown">
     <a href="<?php echo $category['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $category['name']; ?></a>

      <div class="dropdown-menu">
        <div class="dropdown-inner">
          <?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
          <ul class="nav">
            <?php foreach ($children as $child) { ?>

              <li class="dropdown-submenu" >
              <a href="<?php echo $child['href']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $child['name']; ?></a>

               <?php if($child['grand_childs']){
                echo '<ul class="dropdown-menu sub-menu">';
              foreach($child['grand_childs'] as $grand_child){ ?>
                        <li>
                          <a href="<?php echo $grand_child['href']; ?>" ><?php echo $grand_child['name']; ?></a>
                        </li>
            <?php }
                echo '</ul>';
            }
            ?>
            </li>


            <?php } ?>

          </ul>
          <?php } ?>

        </div>
        <a href="<?php echo $category['href']; ?>" class="see-all"><?php echo $text_all; ?> <?php echo $category['name']; ?></a> </div>
    </li>
    <?php } else { ?>
    <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a></li>
    <?php } ?>
    <?php } ?>

  </ul>
票数 2
EN

Stack Overflow用户

发布于 2016-02-11 12:09:49

首先,从here下载vqmod,然后解压保存在站点根目录中的it.Now vqmod文件夹。然后转到浏览器,写下你的站点url,然后"/ vqmod / install“,然后按enter,然后你会得到一条消息,你可以在你的站点上成功安装vqmod。现在下载一个扩展表单here并解压缩它。并在你的站点中保留解压缩文件,在你的站点中指定foulder : menu3rdlevel-opencart-2_2\vqmod\xml/Menu3rdLevel.xml文件,例如: vqmod\xml/Menu3rdLevel.xml,它们是带有"menu3rdlevel“文件夹的其他文件。从你的扩展文件夹"javascript“到你的站点文件夹"javescript",扩展文件夹"image”到站点文件夹"image“,扩展文件夹"stylsheet”到站点文件夹"stylsheet“。然后在浏览器中刷新你的站点,现在可以了。

注意:只传输xml文件和带有"menu3rdlevel“文件夹的其他文件。

票数 0
EN

Stack Overflow用户

发布于 2016-12-16 17:46:06

用于在主菜单中显示子类别。请执行以下更改。

编辑header.php控制器文件

代码语言:javascript
运行
复制
 $sec_children_data = array();
                $sec_children = $this->model_catalog_category->getCategories($child['category_id']);

                foreach ($sec_children as $sec_child) {
                    $sec_children_data[] = array(
                        'name'  => $sec_child['name'] . ($this->config->get('config_product_count') ? '' : ''),
                        'href'  => $this->url->link('product/category', 'path=' . $child['category_id'] . '_' . $sec_child['category_id'])
                    );

                }

编辑header.tpl

代码语言:javascript
运行
复制
?php if (isset($category['children'][$i]['level3'])) {  
          $level3menus = $category['children'][$i]['level3'];
          ?>
          <ul class="level3">
          <?php
                foreach( $level3menus as $level3menu) {
          ?>
                <li><a href="<?php echo $level3menu['href']; ?>" class=""><?php echo $level3menu['name'];?></a></li>
          <?php } ?>

请参考我的教程,逐步解释和演示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14451722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档