2

誰かが親カテゴリ ページをクリックしたときに、そこにリストされているすべての製品を、次のような子カテゴリで分割したいと考えています。

(親カテゴリ「アパレル」をクリック)

シャツ: [シャツ #1] [シャツ #2] [シャツ #3]

パンツ: [パンツ #1] [パンツ #2] [パンツ #3]

靴下: [靴下 #1] [靴下 #2] [靴下 #3]

私が持っているセットアップは、親カテゴリ「アパレル」に 3 つの子「シャツ」、「パンツ」、および「靴下」があることです。「アパレル」カテゴリ ページが表示されると、すべての製品がそれぞれのサブカテゴリにグループ化されずにリストされます。

Magento Community 1.7.0.2 を使用しています

4

1 に答える 1

0

それを行う1つの方法:

すべての子カテゴリを取得

$category_model = Mage::getModel('catalog/category')->load($currentCategoryId); 
$all_child_categories = $category_model->getResource()->getAllChildren($_category);

カテゴリのすべての製品を取得する

$productCollection = Mage::getResourceModel('catalog/product_collection')
                       ->addCategoryFilter($category);

編集:

サブカテゴリの製品を取得するには、次の手順に従います。

このテンプレート ファイルに移動します (ここに、以下にリストされているすべてのコードを配置できます)。

catalog/product/list.phtml

現在のカテゴリ ID を取得します。

$currentCategory = Mage::registry('current_category');
$currentCategoryID = $currentCategory->getEntityId();

現在のカテゴリ モデルをロードして、カテゴリの子を取得します。

$category_model = Mage::getModel('catalog/category')->load($currentCategoryID);

すべての子カテゴリ ID を取得します。

$all_child_categories = $category_model->getResource()->getAllChildren($category_model );

各子 ID をループして、カテゴリとその子を読み込みます。

foreach ($all_child_categories as $child_id):
    $child_cat = Mage::getModel('catalog/category')->load($child_id);
    $products =  Mage::getResourceModel('catalog/product_collection')
                   ->addCategoryFilter($child_cat);
endforeach;

さらにサポートが必要な場合はお知らせください

于 2013-01-03T17:01:22.563 に答える