我正试着在我的店铺上展示品牌。我卖男装和女装,所以我有两个不同的品牌类别。
我的类别结构如下所示:
男士品牌x品牌女装品牌y品牌
我想展示一下产品的品牌。
我找到了这段代码:
$children = Mage::getModel('catalog/category')->getCategories(10);
foreach ($children as $category) {
echo $category->getName();
}但是,它只适用于一个类别,并显示父类别中的所有子类别,而不是产品所拥有的子类别。
如何修改它以显示当前品牌类别的子类别。
我希望这是有意义的,我感谢任何帮助!
发布于 2012-11-06 03:22:27
显示给定类别的子类别列表
$_category = Mage::registry('current_category');
$subcategories = Mage::getModel('catalog/category')->getCategories($_category->getId());
foreach ($subcategories as $subcategory){
print_r($subcategory->getData()
}发布于 2014-08-22 05:28:42
老问题很老了,但我想当这个问题没有得到回答时,我会插话,其他人可能会发现这很有用。
因此,首先,此代码依赖于处于产品列表循环中,即:
$_productCollection=$this->getLoadedProductCollection();
foreach ($_productCollection as $_product) {
*... your product list output here ...*
}其次,这段代码依赖于一个设置,该设置使用“品牌”作为Magento根类别的子类别(无论其名称是什么),并且每个品牌名称都被设置为“品牌”子类别的子类别。您可能需要在下面的代码中增加猫的名称,或者更改类别结构以匹配我的类别结构。
因此,在已经在app/design/frontend/your-package/your-theme/template/catalog/product/list.phtml,中设置的"ProductCollection“循环中,您可以将此代码段放入以响应品牌名称。
$categories = $_product->getCategoryCollection()
->addAttributeToSelect('name')
->addAttributeToFilter('is_active', array('eq' => 1));
foreach($categories as $category) {
$catID = $category->getId();
$catParent = Mage::getModel('catalog/category')->load($catID)
->getParentCategory();
if ( $catParent->getName() == 'BRANDS' ) {
echo '<a href="'.$category->getUrl().'">'.$category->getName().'</a>';
}
}奖励编辑:添加了代码,以包装品牌名称在链接到品牌类别页面。
https://stackoverflow.com/questions/13236112
复制相似问题