Magentoのトップリンクの「マイカート」リンクの直前にショッピングカートアイコンを追加するとします(以下のトップリンクを参照)。
これを行う最良の方法は何ですか?
- toplinks.phpに何かしますか?
- links.phtmlに何かしますか?
- xmlファイル?
- 他のオプションはありますか?
これはCSSで実行できることを理解していますが、カスタマイズのニーズが高まるにつれて、CSSなしでこれを実行する方法を知りたいので、より難しいことをカスタマイズできます。
Magentoのトップリンクの「マイカート」リンクの直前にショッピングカートアイコンを追加するとします(以下のトップリンクを参照)。
これを行う最良の方法は何ですか?
これはCSSで実行できることを理解していますが、カスタマイズのニーズが高まるにつれて、CSSなしでこれを実行する方法を知りたいので、より難しいことをカスタマイズできます。
回答:
いずれの場合も、テンプレートファイル(links.phtml
)を編集しないでください。これは、すべてのリンクリストの一般的なテンプレートとして機能します。たとえば、フッターのリンクにも使用されます。
ではtoplinks.php
、あなたは、CE v1.4.0.1以降廃止されましたので、あなたがやりたいことができます。
必要なものを実現するために、最上位コンテナーにリンクを追加するxmlファイルを使用することをお勧めします。新しいリンクを追加するときに呼び出されるメソッドは、クラスや他の属性に追加することができますいくつかのパラメータをサポートし、リンクやリンクの前とリンクした後、いくつかのテキストにタグを。addLink
li
a
public function addLink($label, $url='', $title='', $prepare=false, $urlParams=array(),
$position=null, $liParams=null, $aParams=null, $beforeText='', $afterText='')
{ ... }
あなたが私の口座メニューにアイコンを追加したい場合は、設定することができます$beforeText
に<span class="icon"></span>
、アイコンのクラスにいくつかのスタイルを追加します。
カートとチェックアウトのリンクについては、レイアウトファイルから直接ではなくブロックオブジェクトを介して追加されるため、少し注意が必要です。
カートまたはチェックアウト用に別の何かが必要な場合は、メソッドMage_Checkout_Block_Links::addCartLink()
またはをオーバーライドするだけですMage_Checkout_Block_Links::addCheckoutLink()
。これら2つは同じ呼び出しで、addLink()
異なるパラメーターを渡すことができます。
Mage_Checkout_Block_Links::addCartLink()
<span class="icon"></span>
場合は、beforeTextとして使用するために、そのように囲む必要があることに注意してください<![CDATA[<span class="icon"></span>]]>
。XMLパーサーも新しい行を選択するため、開始タグの直後にそれを配置する必要があります<beforeText><![CDATA[<span class="icon"></span>]]></beforeText>
トップリンクのみにカスタムテンプレートを適用する必要がある場合は、テーマのlocal.xmlで次のように実行できます。
<default>
<reference name="top.links">
<action method="setTemplate">
<template>page/template/my_links.phtml</template>
</action>
</reference>
<default>
次に、page / template / links.phtmlをコピーし、page / template / my_links.phtmlに名前を変更します。し、その新しいテンプレートファイル内で必要なものは何でも。
local.xmlを介してトップリンクにカスタムリンクを追加するには:
<reference name="top.links">
<action method="addLink" translate="label title">
<label>My Link</label>
<url>path/to/page</url>
<title>My link tooltip</title>
<prepare>true</prepare>
<urlParams/>
<position>150</position>
<liParams>id="my-custom-id"</liParams>
</action>
</reference>
このページもご覧ください:http : //www.classyllama.com/development/magento-development/editing-magentos-top-links-the-better-way
<?php foreach($_links as $_link): ?>
。そのループ内に任意のHTMLを追加できます。
トップリンクを変更するには、このパスを見つけてください。
/app/design/frontend/base/default/layout/customer.xml
そして検索:ログイン(私の場合)。
次に、タイトルとラベルを希望のテキストに変更します。
次の2つのファイルを編集する必要があります。
app/design/frontend/default/default/layout/checkout.xml
app/design/frontend/default/default/layout/customer.xml
これらのファイルでは、リンクがに追加されname="top.links"
ます。コメントアウトしてください。