Пользовательский левый навигационный шаблон Magento, отображаемый дважды - PullRequest
4 голосов
/ 21 июля 2010

Я создал пользовательский шаблон (mytheme / template / catalog / navigation / left_parent_category.phtml) для отображения родительских категорий текущей категории.

<?php


echo '<div class="box base-mini">';
echo '<ol>';
    $currentCat = Mage::registry('current_category');

    if ( $currentCat->getParentId() == Mage::app()->getStore()->getRootCategoryId() )
    {
        // current category is a toplevel category
        $loadCategory = $currentCat;
    }
    else
    {
        // current category is a sub-(or subsub-, etc...)category of a toplevel category
        // load the parent category of the current category
        $loadCategory = Mage::getModel('catalog/category')->load($currentCat->getParentId());
    }
    $subCategories = explode(',', $loadCategory->getChildren());

    foreach ( $subCategories as $subCategoryId )
    {
        $cat = Mage::getModel('catalog/category')->load($subCategoryId);

        if($cat->getIsActive())
        {
            echo '<li><a href="'.$cat->getURL().'">'.$cat->getName().'</a></li>';
        }
    }
echo '</ol>';
echo '</div>';

?>

Я переопределяю макет с небольшим количеством xml в дочерней категории в администраторе magento:

<reference name="left">
            <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left_parent_category.phtml"/>
</reference>

php и xml все делают правильно, но почему-то отображается дважды. Я понятия не имею, почему этот шаблон будет вызываться дважды. Любая помощь будет принята с благодарностью.

PS ... это для Magento 1.3

1 Ответ

6 голосов
/ 21 июля 2010

Я предполагаю, что имя вашего блока (catalog.leftnav) конфликтует с другим блоком с именем catalog.leftnav в XML-макете. Действительно, в catalog.xml есть блок catalog.leftnav.

Попробуйте изменить имя блока. то есть в категории вашего ребенка в администраторе magento:

Изменить с

<reference name="left">
            <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left_parent_category.phtml"/>
</reference>

до

<reference name="left">
            <block type="catalog/navigation" name="catalog.myniceleftnav" after="currency" template="catalog/navigation/left_parent_category.phtml"/>
</reference>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...