2012-02-15 93 views
2

在Magento的网站下面的所有产品,我们已经有了一个菜单,在这里我们想始终显示父节点下的所有产品,让我们说我们有Magento的:显示父节点


- 1类
- 2
类别----子类别2-1
----子类别2-2

当2类点击,我们希望看到分配给产品组别的所有产品, 2-1和2-2。当点击Root时,它应该显示商店的所有产品。但是,当从商店的其他部分选择category1时,我们希望具有默认行为。

通常情况下,我们只是将产品分配给各种类别 - 但由于我们只希望在网站的单个部分上发生此行为,所以我不知道如何处理此问题。

任何想法?

在此先感谢。

回答

0

显示顶层和所有子类:

$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> 
0

您可以使用类的“锚”属性来实现这一目标,该设置控制如何从以下类别的Magento“卷起”产品一个它应用于并且这样做也为分层导航控件设置了一个范围(如果您正在使用它们)。

要按照描述的方式工作,您需要勾选/取消适当地在父级下的每个子类别上的“Is Anchor”框。

转至目录>管理类别>选择一个类别>显示设置>是锚点? (打勾)

为了得到你之后你需要设置“是锚”对话框如下行为:

Root - tick 
- category 1 - untick 
- category 2 - tick 
-- foreach child of category 2 - tick 

然后重新索引任何类别有关。