1

我想将产品的当前类别和子类别添加到侧边栏,但即使我输入子类别也是一样的。现在我有这个左侧菜单的脚本(侧边栏)

<?php $_menu = $this->renderCategoriesMenuHtml(0,'level-top') ?>
<?php if($_menu): ?>
<div class="block block-menu-navleft">
    <div class="block-title">
        <strong><span><?php echo $this->__('Category') ?></span></strong>
    </div>
    <div class="block-content">
        <ul id="nav1" class="menu-left">
        <?php echo $_menu ?>
        </ul>
    </div>
</div>
<?php endif ?>
<script type="text/javascript"> 
    var lis=$$('#nav1 li.parent');
    lis.each(function(li) {

     var dt = new Element('dt');
     var dd = new Element('dd');
     var a = li.down(0);
     var ul = li.down(2);
     dt.insert(a);
     dd.insert(ul);
     li.insert(dt,{position:top});
     li.insert(dd);
    });
     jQuery('#nav1 li.parent dd ul ').hide();
      jQuery('#nav1 dt a').click(function()  {

        jQuery('.td_active').removeClass('td_active');
        var string = jQuery(this).parent().parent().parent().parent().parent().attr('class');
        if(string.indexOf('parent')!=-1)
        {
            jQuery(this).parent().parent().parent().parent().parent().addClass('td_active');
            jQuery(this).parent().parent().parent().css("display","block");
            jQuery(this).parent().parent().find('ul').slideUp('slow');
        }
        else
        {
            jQuery('#nav1 li.parent dd ul:visible').slideUp('slow');
        }
        jQuery(this).parent().parent().addClass('td_active').next().slideDown('fast');  
        if(jQuery(this).parent().parent().find('ul').css('display')=='block')
        {
              jQuery(this).parent().parent().removeClass('td_active');
        }
        jQuery(this).parent().parent().children().children(':first-child').css("display","block");
        return false;
    });


</script> 

该脚本运行良好,但它向我显示了所有父亲类别和子类别。我想只显示当前类别和子类别。

!示例图片1

4

1 回答 1

0

用这个 :

$menu = $this->drawItem(Mage::registry('current_category'),Mage::registry('current_category')->getLevel());

代替

 $_menu = $this->renderCategoriesMenuHtml(0,'level-top')

要处理所有情况,您应该考虑执行以下操作:

$menu = (isset(Mage::registry('current_category'))?$this->drawItem(Mage::registry('current_category'),Mage::registry('current_category')->getLevel()):$this->renderCategoriesMenuHtml(0,'level-top');
于 2013-02-13T13:42:34.357 回答