質問

すき。

次のカテゴリを持っています:メインカテゴリ(!= 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
.

(1つのメインにカテゴリをすべて入れる理由は、すべての製品のMySite.com/Shopにリンクできることです。そのため、メインカテゴリが/店舗です)

役に立ちましたか?

解決

ファイルapp/core/Mage/Catalog/Block/Navigation.php

を上書きすることでそれをすることができます。

アプリ/コード/ローカル/ yourcompany / 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>
.

アプリ/コード/ローカル/ yourcompany /カタログ/ブロック/ Navigation.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;
}
}
.

アプリ/ etc / modules / yourcompany.xml:

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

作成するファイルのグローバル概要: app コード 地元 あなたの会社 カタログ ブロック Navigation.php. 等 config.xml. 等 モジュール yourcompany_catalog.xml

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top