Magento侧边栏父类别和子类别永久性

时间:2013-02-13 13:01:31

标签: magento

我想在侧边栏中添加产品的CURENT类别和子类别,但即使我输入子类别也要相同。现在我有左侧菜单(侧边栏)的这个脚本

<?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

1 个答案:

答案 0 :(得分: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');