Есть ли способ добавить раздел главной навигации в боковой панели? - PullRequest
0 голосов
/ 04 сентября 2018

У нас есть категория "продукты" в нашей главной навигации, и под этой категорией есть выпадающее меню .

Мы бы хотели добавить только выпадающую часть категории "продукты" из главной навигации в боковую панель .

Этот код (от tnx до https://inchoo.net/magento/custom-category-menu-navigation-in-magento/) заставил его работать. Но он также дает другие ссылки в основной навигации.

Как мне отредактировать этот код, чтобы он показывал только 1 категорию по идентификатору?

<ul>
<?php
    $obj = new Mage_Catalog_Block_Navigation();
    $storeCategories = $obj->getStoreCategories();
    Mage::registry('current_category') ? $currentCategoryId = Mage::registry('current_category')->getId() : $currentCategoryId='';
    foreach ($storeCategories as $_category):
?>
        <li>
            <strong><?php echo $_category->getName(); ?></strong>
            <?php $categoryChildren = $_category->getChildren(); ?>
            <?php if($categoryChildren->count()) : ?>
                <ul>

                    <?php foreach($categoryChildren as $_categoryChild) : ?>
                        <?php $_categoryChildModel = Mage::getModel('catalog/category')->load($_categoryChild->getId());?>
                        <?php $categoryGrandchildren=$_categoryChild->getChildren(); ?>
                        <li>
                            <?php
                                $currentCategoryId===$_categoryChild->getId() ? $bold="style=\"font-weight:bold\"" : $bold='';
                                echo '&emsp;' . '<a href="' . $_categoryChildModel->getUrl() . '"' . $bold . '>' .  $_categoryChild->getName() . '(' . $_categoryChildModel->getProductCollection()->count() . ')</a>';
                            ?>
                        </li>
                        <?php if($categoryGrandchildren->count()) : ?>
                            <?php foreach($categoryGrandchildren as $_categoryGrandchild) : ?>
                                <?php $_categoryGrandchildModel = Mage::getModel('catalog/category')->load($_categoryGrandchild->getId());?>
                                <li>
                                    <?php
                                        $currentCategoryId===$_categoryChild->getId() ? $bold="style=\"font-weight:bold\"" : $bold='';
                                        echo '&emsp;&emsp;' . '<a href="' . $_categoryGrandchildModel->getUrl() . '"' . $bold . '>' .  $_categoryGrandchild->getName() . '(' . $_categoryGrandchildModel->getProductCount() . ')</a>';
                                    ?>
                                </li>
                            <?php endforeach; ?>
                        <?php endif; ?>
                    <?php endforeach; ?>
                </ul>
            <?php endif; ?>
        </li>
    <?php endforeach ?>

1 Ответ

0 голосов
/ 05 сентября 2018
    <?php
        $obj = new Mage_Catalog_Block_Navigation();
        $storeCategories = $obj->getStoreCategories();
        Mage::registry('current_category') ? $currentCategoryId = Mage::registry('current_category')->getId() : $currentCategoryId='';
        foreach ($storeCategories as $_category):
    ?>
         <?php if($_category->getId() == 123) : ?>
            <li>
                <strong><?php echo $_category->getName(); ?></strong>
                <?php $categoryChildren = $_category->getChildren(); ?>
                <?php if($categoryChildren->count()) : ?>
                    <ul>

                        <?php foreach($categoryChildren as $_categoryChild) : ?>
                            <?php $_categoryChildModel = Mage::getModel('catalog/category')->load($_categoryChild->getId());?>
                            <?php $categoryGrandchildren=$_categoryChild->getChildren(); ?>
                            <li>
                                <?php
                                    $currentCategoryId===$_categoryChild->getId() ? $bold="style=\"font-weight:bold\"" : $bold='';
                                    echo '&emsp;' . '<a href="' . $_categoryChildModel->getUrl() . '"' . $bold . '>' .  $_categoryChild->getName() . '(' . $_categoryChildModel->getProductCollection()->count() . ')</a>';
                                ?>
                            </li>
                            <?php if($categoryGrandchildren->count()) : ?>
                                <?php foreach($categoryGrandchildren as $_categoryGrandchild) : ?>
                                    <?php $_categoryGrandchildModel = Mage::getModel('catalog/category')->load($_categoryGrandchild->getId());?>
                                    <li>
                                        <?php
                                            $currentCategoryId===$_categoryChild->getId() ? $bold="style=\"font-weight:bold\"" : $bold='';
                                            echo '&emsp;&emsp;' . '<a href="' . $_categoryGrandchildModel->getUrl() . '"' . $bold . '>' .  $_categoryGrandchild->getName() . '(' . $_categoryGrandchildModel->getProductCount() . ')</a>';
                                        ?>
                                    </li>
                                <?php endforeach; ?>
                            <?php endif; ?>
                        <?php endforeach; ?>
                    </ul>
                <?php endif; ?>
            </li>
       <?php endif; ?>
  <?php endforeach ?>

Следующая часть, на мой взгляд, поможет: 123 - это идентификатор категории, замените его на свой.

<?php if($_category->getId() == 123) : ?>
...