2013-02-13 79 views
1

我想添加到側邊欄產品的CURENT類別和子類別,但即使我正在輸入子類別也是如此。現在,我有這個腳本的左側菜單(邊欄)Magento邊欄母公司類別和子類別永久

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

這個腳本工作正常,但它爲我所有的父親類別和子類別。我想讓我看看CURENT CATEGORY和SUBCATEGORY。 !

例如圖像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'); 
+0

當我使用第一個例子給我這個錯誤: 致命錯誤:調用/ home/italy/public_html/app/code/core/Mage/Catalog/Block/Navigation中的非對象的成員函數count() 232行上的.php 232行是這樣的:$ childrenCount = $ children-> count(); 對於第二個例子,它給了我那條線上的錯誤 – Alex 2013-02-13 16:18:20

+0

第一個例子只有在Mage :: registry('current_category')被設置的情況下才有效。所以如果你不在分類頁面上,它就無法工作。 – dagfr 2013-02-14 07:52:12