0

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

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

4

4 回答 4

1

你没有$pro在你的循环中使用你的变量foreach:)

foreach($product as $pro) {
   echo $pro->getManufacturers;
}
于 2012-05-13T17:37:12.813 回答
1

尝试这个。到处工作。

$manufacturer = Mage::getModel('catalog/product')->load($_product->getId())->getAttributeText('manufacturer');
于 2013-12-12T14:44:41.830 回答
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/>';
}
}

类似的东西。希望这可以帮助。

于 2012-04-04T18:34:39.680 回答
0

你为什么不干脆做

$_product->getData('manufacturer');

??

于 2012-04-04T16:08:53.733 回答