0

標準のMagentoトップレベルナビゲーションから表示されるサブナビゲーションを少し編集する必要があります。

top.phtmlにアクセスしたところ、コアMageコードの関数が呼び出されていることがわかりました。これが呼び出される前に、テーマ内のファイルを実行することは可能ですか、それとも完全にカスタムのナビゲーションを作成するか、拡張機能を使用する必要がありますか? ?

4

2 に答える 2

2

テンプレートを独自のマークアップに置き換えるだけdesign/frontend/[package]/[theme]/catalog/navigation/top.phtmlで、好きなように繰り返すことができます。

getStoreCategories()Block クラスには、isCategoryActive()getCurrenetChildCategories()、 など、好きなようにナビゲーション メニューを作成するために使用できるいくつかの基本的なメソッドが既に用意されています。

または、Peter が述べたように、Block クラスを書き直して特定のメソッドを変更したり、テンプレート ファイルからアクセスできる独自のメソッドを含めたりすることができます。

于 2013-02-26T20:34:36.167 に答える
1

オーバーライドするにはMage_Catalog_Block_Navigation

app/etc/modules/Yourmodule_Catalog.xml

<?xml version="1.0"?>
<config>
<modules>
    <Yourmodule_Catalog>
        <active>true</active>
        <codePool>local</codePool>
        <depends />
    </Yourmodule_Catalog>
</modules>
</config>

app/code/local/Yourmodule/Catalog/etc/config.xml

<?xml version="1.0"?>
<config>
<modules>
    <Yourmodule_Catalog>
        <version>0.1.0</version>
    </Yourmodule_Catalog>
</modules>

<global>
    <blocks>
        <catalog>
            <rewrite>
                <navigation>Yourmodule_Catalog_Block_Navigation</navigation>
            </rewrite>
        </catalog>
    </blocks>
</global>

app/code/local/Yourmodule/Catalog/Block/Navigation.php

<?php
class Yourmodule_Catalog_Block_Navigation extends Mage_Catalog_Block_Navigation
{
.... the methods you want to override...
}

以上です。

于 2013-02-26T15:42:00.897 に答える