我从magento开始,遇到了一个非常奇怪的问题,我有一个根类别,两个子类别,每个类别都有子类别和产品,我想要根类别下的两个子类别中的每个类别的制造商列表。
我首先将根类别id设为3。请看下面的代码。。
$root=3;
$rootcategories=Mage::getModel('catalog/category')->getCategories($root,1,false,true,false);
foreach($rootcategories as $c=>$Cat){
$product = Mage::getResourceModel('catalog/product_collection')
->addCategoryFilter($Cat);
foreach($product as $pro){
$pId=$pr['entity_id'];
$_product=Mage::getModel('catalog/product')->load($pId);
$manufacturers[$c][]=$_product->getResource()->getAttribute('manufacturer')->getFrontend()->getValue($_product);
}
}
echo '<pre>';
print_r($manufacturers);
die;
我应该从这个代码中得到制造商的列表,但我得到了每个类别中每个产品的"否"。
您没有在foreach
循环中使用$pro
变量:)
foreach($product as $pro) {
echo $pro->getManufacturers;
}
试试这个。随时随地工作。
$manufacturer = Mage::getModel('catalog/product')->load($_product->getId())->getAttributeText('manufacturer');
为什么不简单地进行
$_product->getData('manufacturer');
尝试
$root=3;
$categories = Mage::getModel('catalog/category')->load($root)->getChildrenCategories();
foreach($categories AS $cat)
{
$productCollection = Mage::getResourceModel('catalog/product_collection')->addCategoryFilter($cat);
foreach($productCollection AS $product)
{
echo $product->getAttributeText('manufacturer').'<br/>';
}
}
类似的东西。希望这能有所帮助。