在最低类别级别上,我的侧边栏正在Magento中消失。我的所有类别的锚点都设置为no。最终,我想在侧边栏上显示所有主要类别(显然是在每个产品页面上),并在主类别中显示子类别。
不确定问题是什么。基本的magento代码都有一些风格的变化。非常感谢您的帮助!
<?php if (!Mage::registry('current_category')) return ?>
<?php $_categories = $this->getCurrentChildCategories() ?>
<?php $_count = is_array($_categories)?count($_categories):$_categories->count(); ?>
<?php if($_count): ?>
<aside id="sidebar">
<div class="sidebar-nav">
<h2><?php echo $this->__('Products') ?></h2>
<ul>
<?php foreach ($_categories as $_category): ?>
<?php if($_category->getIsActive()): ?>
<li>
<a href="<?php echo $this->getCategoryUrl($_category) ?>"<?php if ($this->isCategoryActive($_category)): ?> class="current"<?php endif; ?>><?php echo $this->htmlEscape($_category->getName()) ?></a> (<?php echo $_category->getProductCount() ?>)
</li>
<?php endif; ?>
<?php endforeach ?>
</ul>
</div>
<div class="sidebar-nav">
<h2 class="red">Holiday</h2>
<ul>
<li><a href="#">Christmas</a></li>
<li><a href="#">Halloween</a></li>
<li><a href="#">Thanksgiving</a></li>
<li><a href="#">Easter</a></li>
<li><a href="#">4th of July</a></li>
<li><a href="#">Valentine's Day</a></li>
</ul>
</div>
<div class="sidebar-nav">
<h2>About Us</h2>
<ul>
<li><a href="#">About Mary</a></li>
<li><a href="#">Press</a></li>
<li><a href="#">Licensing</a></li>
<li><a href="#">Shows</a></li>
<li><a href="#">Custom Work</a></li>
<li><a href="#">Contact Us</a></li>
<li><a href="#">Privacy Policy</a></li>
<li><a href="#">Terms & Conditions</a></li>
</ul>
</div>
<script type="text/javascript">decorateDataList('narrow-by-list2')</script>
<?php endif; ?>
</aside>
它们正在您的最低类别中消失,因为您的代码正在使用:
<?php $_categories = $this->getCurrentChildCategories() ?>
如果当前类别(您当前查看的类别)没有子类别,块将不会显示任何类别(因为getCurrentChildCategories()
返回当前类别的子类别)。
左侧类别的行为会有所不同,这取决于是否将"是锚点"设置为"是"或"否"。
Category设置为
Is Anchor: Yes
-左侧类别将用作过滤器,而不是直接导航链接。当您单击左侧的类别时,您将保持在您查看的同一类别中,但页面上的结果将被筛选到所选类别中。类别设置为
Is Anchor: No
-左侧类别将用作菜单。当选择一个类别时,用户将被带到该实际类别页面。如果他们导航到的类别页面没有子类别,则左侧不会显示任何类别。
因此,在您的情况下,您可以将上级类别设置为Is Anchor: Yes
,最低级别的类别将充当过滤器,而不是菜单链接。
如果希望人们导航到最低级别的子类别,则必须修改模板用于从父类别中提取类别的功能。StackOverflow上已经有几篇文章详细介绍了如何做到这一点。