我想在侧边栏中添加产品的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
答案 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');