Magento - просмотр дерева категорий 4 уровня - PullRequest
0 голосов
/ 28 марта 2012

Я пытаюсь создать некоторый код на своем magento-сайте, который позволит клиенту переходить по категориям моих продуктов, просматривая дочерние категории на каждой последующей странице.

У меня есть фрагмент кода ниже, который будет успешно работать для первых 2 уровней, но не позволяет мне просматривать детей второго уровня (т.е. 3-го уровня и т. Д.)

Может ли кто-нибудь помочь в настройке этого кода, чтобы я мог просматривать 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";

?>

1 Ответ

0 голосов
/ 28 марта 2012

Также необходимо рекурсивно добавить $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);
    }
}
...