我已阅读之前提出并回答的帖子:Magento display all categories on product view page with parent categories
代码:
$currentCatIds = $_product->getCategoryIds();
$categoryCollection = Mage::getResourceModel('catalog/category_collection')
->addAttributeToSelect('name')
->addAttributeToSelect('url')
->addAttributeToFilter('entity_id', $currentCatIds)
->addIsActiveFilter();
foreach($categoryCollection as $cat){
echo $cat->getName().' '.$cat->getUrl();
}
代码确实将类别链接添加到我的产品页面,这就是我想要的。
但我有一个名为“默认类别”的特定类别,所有其他类别都在其下。无论如何我可以过滤“默认类别”并将其隐藏在产品页面中吗?
我对PHP很糟糕所以请帮助我。
非常感谢
马库斯
答案 0 :(得分:0)
尝试添加类别级别过滤器。 默认类别为level = 1,children为+1
$categoryCollection = Mage::getResourceModel('catalog/category_collection')
->addAttributeToSelect('name')
->addAttributeToSelect('url')
->addFieldToFilter('level', array('gteq' => 1));
->addAttributeToFilter('entity_id', $currentCatIds)
->addIsActiveFilter();
答案 1 :(得分:0)
如果您需要在产品视图页面中列出与所选产品相关的所有类别,您只需将以下代码放在app / design / frontend /// template / catalog / product / view.phtml中< / p>
<?php $categories = $_product->getCategoryIds(); ?>
<?php foreach($categories as $k => $_category_id): ?>
<?php $_category = Mage::getModel('catalog/category')->load($_category_id) ?>
< <a href="<?php echo $_category->getUrl() ?>"><?php echo $_category->getName() ?></a>
<?php endforeach; ?>