我正在尝试在我的magento网站上构建一些代码,以便客户点击我的产品类别,查看每个连续页面上的子类别。
下面我有一个代码片段,可以成功地用于前两个级别,但是不允许我浏览第二级的孩子(即第三级等)
任何人都可以协助调整此代码以允许我深入浏览4个级别吗?
<?php
$obj = new Mage_Catalog_Block_Navigation();
$store_cats = $obj->getStoreCategories();
$current_cat = $obj->getCurrentCategory();
$current_cat = (is_object($current_cat) ? $current_cat->getName() : '');
foreach ($obj->getCurrentChildCategories() as $subcat) {
echo '<li><a href="'.$subcat->getURL().'">'.$subcat->getName()."</a></li>\n";
}
echo "</ul>\n</li>\n";
?>
答案 0 :(得分:0)
您需要递归地为子类别添加$obj->getCurrentChildCategories()
,因为您当前的foreach仅针对第一个的子节点进行迭代。
将foreach存储在函数中并将其用于$ cat对象。
function cats($obj) {
foreach ($obj->getCurrentChildCategories() as $subcat) {
echo '<li><a href="'.$subcat->getURL().'">'.$subcat->getName()."</a></li>\n";
cats($subcat);
}
}