Итак, у меня есть следующий код в /[my-theme-name]/template/catalog/navigation/left.phtml в качестве доказательства концепции:
<?php
$Mage_Catalog_Block_Navigation = new Mage_Catalog_Block_Navigation();
$categories = $Mage_Catalog_Block_Navigation->getStoreCategories();
function render_flat_nav($categories) {
$html = '<ul>';
foreach($categories as $category) {
$html .= '<li><a href="' . $category->getCategoryUrl($cat) . '">' .
$category->getName() . "</a>\n";
if($category->hasChildren()) {
$children = $category->getChildren();
$html .= render_flat_nav($children);
}
$html .= '</li>';
}
return $html . '</ul>';
}
echo render_flat_nav($categories); ?>
Отлично работает для уровня 0 икатегории уровня 1, но любые категории с более глубоким вложением никогда не распечатываются.
Так что $category->getChildren()
не вполне может вернуть то, что я ожидаю.Можно ли вызвать метод, который будет работать с моей рекурсивной функцией?