1

私はmagentoを初めて使用します。すべてのカテゴリIDを取得するために、allproduct.phtmlファイルで以下のコードを使用しました。

function get_categories(){

$category = Mage::getModel('catalog/category'); 
$tree = $category->getTreeModel(); 
$tree->load();
$ids = $tree->getCollection()->getAllIds(); 
$arr = array();
if ($ids){ 
foreach ($ids as $id){ 
$cat = Mage::getModel('catalog/category'); 
$cat->load($id);
$arr[$id] = $cat->getName();
} 
}

return $arr;

}

今、私は1つの配列で以下のカテゴリIDを取得しました、

Array
(
    [Root Catalog] => 1
    [Default Category] => 2
    [Multivitamins] => 3
    [Vitamins and Minerals] => 4
    [Joints and Arthritis] => 5
    [EFA's] => 6
    [Diet and Digestion] => 7
    [Mood, Mind and Specialty] => 8
    [cardiostrong™] => 9
    [Teas and Juices] => 10
    [Additional] => 11
)

次に、上記のカテゴリIDで区切られたすべての製品を表示する必要があります。

これどうやってするの?。

4

1 に答える 1

1

を呼び出して、カテゴリ内の製品を取得できます$category->getProductCollection()

サンプル:

$categories = Mage::getModel('catalog/category')->getCollection()->addAttributeToSelect('name');

foreach ($categories as $category) { $products = $category->getProductCollection()->addAttributeToSelect('name'); echo sprintf("< h1>%d. %s", $category->getId(), $category->getName()); foreach ($products as $product) { echo sprintf("%d. %s< br />", $product->getId(), $product->getName()); } }

編集: html タグが解析されないように、意図的に間違ったものを作成しました。

于 2012-05-29T15:18:59.450 に答える