2016-08-15 79 views
1

我正在使用opencart v2.2.0,并具有面包屑导航的代码。这个面包屑将类别显示为下拉菜单。我如何编辑这个面包屑删除该下拉菜单,并只显示正确的类别和子类别?如何从opencart 2.2 breadcrumb中删除下拉菜单?

这里是它如何工作的一个截图: breadcrumb screen shot

这里是代码:

<div class="breadcrumb <?php if($theme_options->get('breadcrumb_layout') == 2) { echo 'fixed'; } else { echo 'full-width'; } ?>"> 
<div class="background-breadcrumb"></div> 
<div class="background"> 
    <div class="shadow"></div> 
    <div class="pattern"> 
     <div class="container"> 
      <div class="clearfix"> 
       <ul> 
        <?php 
        $i = 0; 
        $next_cat_id = 0; 
        foreach ($breadcrumbs as $breadcrumb) { 
         $cats = array(); 
         if($registry->get('request')->get['route'] == 'product/product' || $registry->get('request')->get['route'] == 'product/category'){ 
          if($i == 1){ 
           $cats = $theme_options->getCategories(0); 
          }else if($next_cat_id > 0 && count($breadcrumbs)-1 > $i){ 
           $cats = $theme_options->getCategories($next_cat_id); 
          } 
         } 


        ?> 
        <li class="item <?php echo !empty($cats) ? 'dropdown' : '';?>"> 
         <a <?php echo !empty($cats) ? 'class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false"' : '';?> 
          href="<?php echo $breadcrumb['href']; ?>"><?php if($breadcrumb['text'] != '<i class="fa fa-home"></i>') { echo $breadcrumb['text']; } else { if($theme_options->get('home_text', $config->get('config_language_id')) != '') { echo $theme_options->get('home_text', $config->get('config_language_id')); } else { echo 'Home'; } } ?></a> 

         <?php if(!empty($cats)):?> 
         <ul class="dropdown-menu"> 
          <li> 
           <?php foreach($cats as $cat):?> 
           <?php if($cat['label'] == $breadcrumb['text']):?> 
            <?php $next_cat_id = $cat['category_id']; continue; ?> 
           <?php endif; ?> 
           <a href="<?php echo $cat['href'] ?>"><?php echo $cat['label'] ?></a> 
           <?php endforeach; ?> 
          </li> 
         </ul> 
         <?php endif; ?> 

        </li> 
        <?php $i++; } ?> 
       </ul> 
<!--     <h1 id="title-page"><?php echo $heading_title; ?> 
        <?php if(isset($weight)) { if ($weight) { ?> 
        &nbsp;(<?php echo $weight; ?>) 
        <?php } } ?> 
       </h1> 
       <div class="strip-line"></div>--> 
      </div> 
     </div> 
    </div> 
</div> 

+0

未回答请吗?!! – vaguemind

+0

这不是核心opencart代码。 这是自定义主题的代码。 分析代码我可以说的是: 评论以下行: $ cats = $ theme_options-> getCategories($ next_cat_id); 所有代码都是自定义主题编写的。通过上面的评论,它可能不会进入下一级别类别,只显示顶级类别。 –

+0

雅,我知道它的一个自定义代码,我不想阻止去下一个级别类别,我只需要删除下拉,并正常工作像默认的opencart面包屑? – vaguemind

回答

0

我不知道这个代码,所以要小心结束div和其他的HTML。 正如我每个代码,我已经删除其他级别和下拉。我认为$ breadcrumbs数组是作为默认代码返回的。如果他们改变了它,那么也需要在控制器部分进行更改。希望以下将起作用。

<div class="breadcrumb <?php if($theme_options->get('breadcrumb_layout') == 2) { echo 'fixed'; } else { echo 'full-width'; } ?>"> 
<div class="background-breadcrumb"></div> 
<div class="background"> 
    <div class="shadow"></div> 
    <div class="pattern"> 
     <div class="container"> 
      <div class="clearfix"> 
       <ul> 
        <?php 
        foreach ($breadcrumbs as $breadcrumb) { ?> 
         <li class="item"> 
          <a 
           href="<?php echo $breadcrumb['href']; ?>"><?php if($breadcrumb['text'] != '<i class="fa fa-home"></i>') { echo $breadcrumb['text']; } else { if($theme_options->get('home_text', $config->get('config_language_id')) != '') { echo $theme_options->get('home_text', $config->get('config_language_id')); } else { echo 'Home'; } } ?></a>  
         </li> 
         <?php } ?> 
       </ul> 
<!--     <h1 id="title-page"><?php echo $heading_title; ?> 
        <?php if(isset($weight)) { if ($weight) { ?> 
        &nbsp;(<?php echo $weight; ?>) 
        <?php } } ?> 
       </h1> 
       <div class="strip-line"></div>--> 
</div> 
</div> 
</div> 
</div> 
+0

我实现了你的代码,并给了我这个截图:http://tinypic.com/r/504oj9/9 – vaguemind

+0

请删除$ i ++; –

+0

雅,它现在的工作,非常感谢 – vaguemind

相关问题