0

私はマジェントから始めて、非常に奇妙な問題に行き詰まりました.1つのルートカテゴリ、2つの子カテゴリがあり、それぞれにサブカテゴリと製品があります.ルートカテゴリの下にある2つの子カテゴリのそれぞれからメーカーリストが必要です.

ルート カテゴリ 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;

このコードからメーカーのリストを取得することになっていますが、各カテゴリの各製品について「NO」を取得します。

4

4 に答える 4

1

これを試して。どこでも働けます。

$manufacturer = Mage::getModel('catalog/product')->load($_product->getId())->getAttributeText('manufacturer');
于 2013-12-12T14:44:41.830 に答える
1

ループ$proで変数を使用しません:)foreach

foreach($product as $pro) {
   echo $pro->getManufacturers;
}
于 2012-05-13T17:37:12.813 に答える
0

単純にやってみませんか

$_product->getData('manufacturer');

??

于 2012-04-04T16:08:53.733 に答える
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 に答える