我有一个多站点设置,Magento 1.8,我想列出产品包含在文件模板/ catalog / product / view / description.phtml中的类别
我想在每个网站的基础上这样做。例如,产品在Site 1和Site 2上出售......
在网站1上,它列在A类和B类
中在网站2上,它列在类别Y和类别Z
中因此,在Site 1产品说明中,我想列出A类和B类,但不列出Y和Z
在网站2产品说明中,我想列出类别Y和Z,但不列出A和B.
这是我到目前为止的代码,但是这列出了所有网站中包含的产品的所有类别,如何强制它仅列出特定网站的类别......
$catIds = $this->getProduct()->getCategoryIds();
$catCollection = Mage::getResourceModel('catalog/category_collection')
->addAttributeToSelect('name')
->addAttributeToSelect('url')
->addAttributeToSelect('*')
->addAttributeToFilter('entity_id', $catIds)
->addIsActiveFilter();
foreach($catCollection as $cat){
echo "<a href=\"";
echo $cat->getUrl();
echo "\">";
echo $cat->getName();
echo "</a><br/>";
}
答案 0 :(得分:-1)
试试这个:
$category_ids = $this->getProduct()->getCategoryIds();
foreach ($category_ids as $category_id) {
$category = Mage::getModel('catalog/category')->load($category_id);
if ($category->getIsActive()) {
echo $category->getUrl();
echo $category->getName();
}
}
或者更符合原始代码(并且数据库工作量减少),您可以尝试使用此过滤器:
->addFieldToFilter('is_active', 1)