Magento:如何隐藏儿童类产品在顶级类别中的显示?

时间:2013-05-06 16:38:18

标签: php magento

在magento中,来自子类别的所有产品都显示在顶级/父级类别上。例如,我有这组类别:

Fabric
- Cotton
---- Shirts (1)
--------Half Sleeves (5)

总而言之,我有6个产品,当我点击面料时,它会显示所有6个产品以及子类别。

我不想要这个,我想只列出类别,不想从子类别中提取产品。

因此,当我点击 Fabric 时,我想要一种只能列出子类别的方法或方法。当我点击半袖时,只列出5种产品。

顺便说一句,我的所有类别都已设置为是Anchor = NO

以下是app / design / frontend / base / default / template / catalog / category / view.phtml的片段

$_cat = new Mage_Catalog_Block_Navigation();
$curent_cat = $_cat->getCurrentCategory();
$curent_cat_id = $curent_cat->getId();
$parentId=Mage::getModel('catalog/category')->load($curent_cat_id)->getParentId();

$categoryid = $parentId;//$_category->getId();

$category = new Mage_Catalog_Model_Category();
$category->load($categoryid);
$collection = $category->getProductCollection();
$collection->addAttributeToSelect('*');


$i=0; 
foreach ($collection as $_product) {........}

有什么想法吗?

非常感谢!

2 个答案:

答案 0 :(得分:2)

你好Aamir Siddique每次尝试这个功能都会得到孩子,所以点击面料你必须将面料的id传递给这个功能才能得到它的孩子类别,这里我给你的功能让你可以得到孩子阵列

function get_child($category_id)
{
    $id=$category_id;
    $i=0;
    $children = Mage::getModel('catalog/category')->getCategories($id);
    foreach ($children as $category)
    {
    $data["cat_data"][$i]["id"]=$category->getId();
    $data["cat_data"][$i]["name"]=$category->getName();
    $i++;
    }
    return $data;
}

答案 1 :(得分:0)

您是否尝试将Display Mode类别的Fabric更改为Static block only,然后创建一个包含子类别链接的静态块?