Magento产品的制造商

时间:2012-04-04 11:44:44

标签: php magento

我从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;

我应该从这个代码中获得制造商列表,但是对于每个类别中的每个产品我得到“否”。

4 个答案:

答案 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/>';
}
}

这样的事情。希望这会有所帮助。