2013-01-03 178 views
2

當用戶點擊一個父類的網頁我想在那裏列出由他們的孩子的類別劃分的所有產品,如下列:組Magento的產品

(在父類點擊'服裝')

襯衫: [恤#1] [恤#2] [襯衫#3]

褲子: [褲子#1] [褲子#2] [褲子#3]

襪子: [襪子#1] [襪子#2] [襪子#3]

我的設置是父類別'服裝'有三個孩子'襯衫','褲子'和'襪子'。當顯示「服裝」類別頁面時,它僅列出所有產品,而不將它們歸類到其各自的子類別下。

我使用的Magento社區1.7.0.2

回答

0

一種方式做到這一點:

獲取所有子類

$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; 

讓我們知道如果喲需要進一步的援助

+0

做我需要遍歷$ all_child_categories並分別調用$ productCollection? – YWSW

+0

是的,如果你需要進一步的幫助,讓我們知道 – pzirkind

+0

我在目錄\ product \ list.phtml中包含$ all_child_categories,它返回一個錯誤:致命錯誤:調用一個非對象中的成員函數getResource().. – YWSW