在magento站点上,我们有一个菜单,我们希望始终显示父节点下的所有产品,假设我们有
根部
-子类别2-1
-子类别2-2
单击类别2时,我们希望看到分配给category2、2-1和2-2的所有产品。当单击Root时,它应该显示商店的所有产品。但是,当从商店的其他部分选择category1时,我们希望有一个默认行为。
通常情况下,我们只会将一个产品分配到不同的类别--但由于我们只想在网站的一个单独部分出现这种行为,我不确定如何处理。
有什么想法吗?
提前谢谢。
发布于 2012-08-29 15:25:02
您可以使用类别的"Anchor“属性来实现这一点,此设置控制Magento如何从它所应用的类别下的类别中”滚动“产品,并且在这样做的同时还设置了分层导航控件的范围(如果您正在使用它们)。
要按照描述的方式工作,您需要勾选/取消勾选父目录下每个子类别上的"Is Anchor“框。
转到目录>管理目录>选择类别>显示设置>是锚?(滴答)
要获得你想要的行为,你需要设置"Is Anchor“框,如下所示:
Root - tick
- category 1 - untick
- category 2 - tick
-- foreach child of category 2 - tick
然后重新索引任何与类别相关的内容。
发布于 2012-02-15 20:28:06
显示顶层和所有子类别:
$collection= Mage::helper('catalog/category');
$categories = $collection->getStoreCategories();
$currentCategory = Mage::registry('current_category');
<ul>
<?php foreach($categories as $category): ?>
<li><a href="<?php echo $collection->getCategoryUrl($category) ?>">
<?php echo $category->getName() ?>
</a>
<?php $category = Mage::getModel('catalog/category')->load($category->getId()) ?>
<?php $subCategory = $category->getChildrenCategories() ?>
<?php if(count($subCategory > 0)): ?>
<ul>
<?php foreach($subCategory as $_subCategory):) ?>
<li>
<a href="<?php echo $collection->getCategoryUrl($_subCategory) ?>">
<?php echo $_subCategory->getName() ?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
https://stackoverflow.com/questions/9292499
复制相似问题