標準のMagentoトップレベルナビゲーションから表示されるサブナビゲーションを少し編集する必要があります。
top.phtmlにアクセスしたところ、コアMageコードの関数が呼び出されていることがわかりました。これが呼び出される前に、テーマ内のファイルを実行することは可能ですか、それとも完全にカスタムのナビゲーションを作成するか、拡張機能を使用する必要がありますか? ?
標準のMagentoトップレベルナビゲーションから表示されるサブナビゲーションを少し編集する必要があります。
top.phtmlにアクセスしたところ、コアMageコードの関数が呼び出されていることがわかりました。これが呼び出される前に、テーマ内のファイルを実行することは可能ですか、それとも完全にカスタムのナビゲーションを作成するか、拡張機能を使用する必要がありますか? ?
テンプレートを独自のマークアップに置き換えるだけdesign/frontend/[package]/[theme]/catalog/navigation/top.phtml
で、好きなように繰り返すことができます。
getStoreCategories()
Block クラスには、isCategoryActive()
、getCurrenetChildCategories()
、 など、好きなようにナビゲーション メニューを作成するために使用できるいくつかの基本的なメソッドが既に用意されています。
または、Peter が述べたように、Block クラスを書き直して特定のメソッドを変更したり、テンプレート ファイルからアクセスできる独自のメソッドを含めたりすることができます。
オーバーライドするには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...
}
以上です。