当有人点击父类别页面时,我希望其中列出的所有产品按其子类别划分,例如:
(点击父类别'服装')
衬衫: [衬衫#1] [衬衫#2] [衬衫#3]
裤子: [裤子#1] [裤子#2] [裤子#3]
袜子: [袜子#1] [袜子#2] [袜子#3]
我的设置是父类别'服装'有三个孩子&衬衫'裤子'袜子'当服装'显示类别页面,它只列出所有产品,而不将它们分组到各自的子类别下。
我正在使用Magento Community 1.7.0.2
答案 0 :(得分: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;
如果您需要进一步的帮助,请告诉我们