Вопрос

I.e.

У меня есть следующая категория: главная категория (!= root)

Main category
|
|- sub category 1
|
|- sub category 2
|
|- sub category 3
.

Моя навигация,

  <ul>
    <?php echo $_menu ?>
  </ul>
.

Теперь рендеры

Main category
.

Как я могу получить его для того, чтобы сделать это просто подпункты, такие как

Subcategory 1
Subcategory 2
Subcategory 3
.

(Причина, по которой я поставил все мои категории в один главный - это уметь ссылку на mysite.com/shop для всех продуктов. Основная категория, следовательно, это / магазин)

Это было полезно?

Решение

Вы, вероятно, можете сделать это, перезаписывая файл app/core/Mage/Catalog/Block/Navigation.php

APP / CODE / LOCAL / YORYCOMPANY / CATALOG / etc / config.xml:

<?xml version="1.0"?>
<config>
    <modules>
        <YourCompany_Catalog>
            <version>1.0</version>
        </YourCompany_Catalog>
    </modules>
    <global>
        <blocks>
            <catalog>
                <rewrite>
                  <navigation>YourCompany_Catalog_Block_Navigation</navigation>
               </rewrite>
           </catalog>
       </blocks>       
    </global>
</config>
.

APP / CODE / LOCAL / YORYCOMPANY / CATALOG / BOCK / NAVIGNES.PHP:

class YourCompany_Catalog_Block_Navigation extends Mage_Catalog_Block_Navigation {
    public function renderCategoriesMenuHtml($level = 0, $outermostItemClass = '', $childrenWrapClass = '')
{
    $activeCategories = array();
    foreach ($this->getStoreCategories() as $child) {
        if ($child->getIsActive()) {
            $activeCategories[] = $child;
        }
    }

    $activeCategoriesCount = count($activeCategories);
    $hasActiveCategoriesCount = ($activeCategoriesCount > 0);

    if (!$hasActiveCategoriesCount) {
        return '';
    }

    $html = '';
    $j = 0;
    foreach ($activeCategories as $category) {
        foreach ($category->getChildren() as $child) { // Added this loop to bypass the first top categories
            $html .= $this->_renderCategoryMenuItemHtml(
                $child,
                $level,
                ($j == $activeCategoriesCount - 1),
                ($j == 0),
                true,
                $outermostItemClass,
                $childrenWrapClass,
                true
            );
            $j++;
        }
    }

    return $html;
}
}
.

APP / ETC / MODULES / YOURCOMPANY.XML:

<?xml version="1.0"?>
<config>
    <modules>
        <YourCompany_Catalog>
            <active>true</active>
            <codePool>local</codePool>
        </YourCompany_Catalog>
    </modules>
</config>
.

Глобальный обзор файлов для создания: приложение код местный Ваша компания Каталог Блокировать Navigation.php. так далее config.xml. так далее модули Yourcompany_catalog.xml

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top