Я работаю с темой Magento Porto, и мне нужна левая навигация по категориям (category_nav.html) для отображения на страницах под-под-под-подкатегорий. Мне удалось заставить его отображаться на страницах подкатегорий, но я не могу понять, как пройти туда.
Вот мой текущий код:
<?php
$_categories = Mage::getModel('catalog/category')->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('level', 2)
->addAttributeToFilter('is_active', 1);
?>
<?php $_count = is_array($_categories)?count($_categories):$_categories->count(); ?>
<?php
function cmpCatPosition($a, $b) {
if ($a->position == $b->position)
return 0;
return ($a->position > $b->position) ? 1 : -1;
}
function getChildrenCategoriesHtml($_category){
$children = explode( ",", $_category->getChildren() );
//usort($children, 'cmpCatPosition');
$content = '';
$content .= '<li class="';
if(!$children[0])
$content .= 'has-no-children';
else
$content .= 'has-children';
$content .= '">';
$content .= '<a href="'.$_category->getUrl().'" ';
$content .= '>'.$_category->getName().'</a>';
if($children[0]){
$content .= '<a href="javascript:void(0)" class="plus"><i class="icon-plus-squared"></i></a>';
$content .= '<ul>';
foreach($children as $child){
$_subcat = Mage::getModel( 'catalog/category' )->load( $child );
$content .= getChildrenCategoriesHtml($_subcat);
}
$content .= '</ul>';
}
$content .= '</li>';
return $content;
}
?>
<?php if($_count): ?>
<div class="block block-category-nav">
<div class="block-title">
<strong><span><?php echo Mage::registry('current_category')->getName(); ?></span></strong>
</div>
<div class="block-content">
<ul class="category-list">
<?php foreach ($_categories as $_category): ?>
<?php
if($_category->getIsActive()){
echo getChildrenCategoriesHtml($_category);
}
?>
<?php endforeach ?>
</ul>
</div>
</div>