Magentoのインストールでは、「カテゴリ」の「製品」カテゴリから生成されたドロップダウンメニューがあります。コード:
<?php echo $this->getChildHtml('topMenu') ?>
を使用してメニューを表示します。
ただし、一定の間隔で、静的HTMLリンク(ハイパーリンク付きのリストアイテム)をメニューに追加したいと思います。
どうすればこれを達成できますか?
ポインタをありがとう
Magentoの現在のバージョンでは、新しいカテゴリを作成し、そのカテゴリを任意のURL(CMSページ、製品ページ、オフサイトなど)にリダイレクトすることでこれを行うことができます。
これで、フロントエンドに移動して、メニューに新しいカテゴリを表示できるようになります。それをクリックすると、提供したリンクに直接リダイレクトされます。この方法は、静的リンクを配置する場所をより適切に制御でき、静的にリンクされたメニュー項目をサブメニュー内に配置できるため、他の方法よりも好みます。
このビデオでは、Magento Goのこの手法を段階的に示していますが、プロセスはMagentoのすべてのフレーバーで同じです。 http://www.youtube.com/watch?v=5rSIQlRC8Xk
これがあなたの答えです:http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/navigation/add_home_link_to_menu_bar
この方法を試すことができます。この方法は他の方法よりも適切だと思います。
http://www.atwix.com/magento/how-to-add-a-new-item-to-the-navigation-menu/
これを行うにはいくつかの方法があります。これを実現するには、Mage_Catalog_Block_Navigationを書き直すことができます。
renderCategoriesMenuHtml関数内で、カウンターを使用してforeachループ内のさまざまな位置でそれをキャッチし、ブロックをレンダリングできます。
if ($j == 1) {
$html .= $this->getLayout()->createBlock('namespace/yourmodule')->setTemplate('topMenu/link.phtml')->toHtml();
}
または、文字通り次のようにリンクをレンダリングします。
$html .= '<a href="yourlink.php">Link Name</a>';
最初のメソッドは、クラスにハードコーディングするのではなく、フロントエンド開発者にもう少し柔軟性を与えます。
メニューに画像を追加するなど、この方法でいくつかの深刻な操作を実装することもできます。私は、メニューに「注目の製品」機能を実装するのと同様の機能を使用しました。
Magentoのトップメニューハイパーリンクタイトルタグを追加する方法 ファイルを開いてコードを見る
$html。='getUrl()。'"'。$outermostClassCode。''>'。$this->escapeHtml($ child-> getName())。'';
app / code / core / Mage / Page / Block / Html / Topmenu.php
$html。='getUrl()。'"'。$outermostClassCode。'title="'。$ this-> escapeHtml($ child-> getName())。'">'。$this->escapeHtml($ child-> getName())。'';
top.menu
カスタムリンクを使用して内部にブロックを作成できます。これをテーマのlocal.xml
ファイルに追加します。
<reference name="header">
<reference name="top.menu">
<block type="page/template_links" name="top.menu.custom-links">
<action method="addLink" translate="label title">
<label>New Link</label>
<url>my-url</url>
<title>New Link</title>
<prepare>true</prepare>
<urlParams helper="core/url/getHomeUrl"/>
<position>60</position>
</action>
</block>
</reference>
</reference>
これが最も簡単な方法だと思います。