我从magento开始,遇到了一个非常奇怪的问题, 我有一个根类别,两个儿童粪便,每个都有子类别和产品,我想要根据根类别的两个子类别中的每一个的制造商列表。
我开始将root类别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;
我应该从这个代码中获得制造商列表,但是对于每个类别中的每个产品我得到“否”。
答案 0 :(得分:1)
您未在$pro
循环中使用foreach
变量:)
foreach($product as $pro) {
echo $pro->getManufacturers;
}
答案 1 :(得分:1)
试试这个。到处工作。
$manufacturer = Mage::getModel('catalog/product')->load($_product->getId())->getAttributeText('manufacturer');
答案 2 :(得分:0)
你为什么不这么做?
$_product->getData('manufacturer');
...
答案 3 :(得分:0)
尝试
$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/>';
}
}
这样的事情。希望这会有所帮助。