当有人点击父类别页面时,我希望那里列出的所有产品都按其子类别划分,例如:
(点击父类别“服装”)
衬衫:[衬衫#1] [衬衫#2] [衬衫#3]
裤子:[裤子#1][裤子#2][裤子#3]
袜子:[袜子 #1] [袜子 #2] [袜子 #3]
我的设置是父类别“服装”有三个孩子“衬衫”、“裤子”和“袜子”。当显示“服装”类别页面时,它仅列出所有产品,而不将它们分组在各自的子类别下。
我正在使用 Magento 社区 1.7.0.2
当有人点击父类别页面时,我希望那里列出的所有产品都按其子类别划分,例如:
(点击父类别“服装”)
衬衫:[衬衫#1] [衬衫#2] [衬衫#3]
裤子:[裤子#1][裤子#2][裤子#3]
袜子:[袜子 #1] [袜子 #2] [袜子 #3]
我的设置是父类别“服装”有三个孩子“衬衫”、“裤子”和“袜子”。当显示“服装”类别页面时,它仅列出所有产品,而不将它们分组在各自的子类别下。
我正在使用 Magento 社区 1.7.0.2
一种方法:
获取所有子类别
$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;
让我们知道您是否需要进一步的帮助