top.linksの[マイ アカウント]リンクを削除しようとしています。その後、顧客がカスタム ラベルでログインまたはログアウトしている場合は、それらを再導入します。誰でもアイデアを持っています
<reference name="root">
<reference name="top.links">
<action method="removeLinkByUrl"><url helper="customer/getAccountUrl"/><position>10</position></action>
</reference>
<reference name="top.links">
<customer_logged_out>
<action method="addLink" translate="label title" module="customer"><label>Register</label><url helper="customer/getRegisterUrl"/><title>Register</title><prepare/><urlParams/><position>10</position></action>
<remove name="checkout_cart_link" />
</customer_logged_out>
<customer_logged_in>
<action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
</customer_logged_in>
</reference>
</reference>
編集:
Magento 1.7 を使用しています。明確にするために、マイアカウントリンクの削除は次を使用して機能します
<action method="removeLinkByUrl"><url helper="customer/getAccountUrl"/><position>10</position></action>
ただし、を使用して新しいリンクを追加することはできませんmethod="addLink"
。
解決:
/app/design/frontend/base/layout/ から customer.xml をテンプレートのレイアウト ディレクトリにコピーし、以下を追加しました。
<customer_logged_in>
<reference name="top.links">
<action method="addLink" translate="label title" module="customer"><label>Log Out</label><url helper="customer/getLogoutUrl"/><title>Log Out</title><prepare/><urlParams/><position>100</position></action>
<action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
</reference>
</customer_logged_in>
と
<customer_logged_out>
<reference name="top.links">
<action method="addLink" translate="label title" module="customer"><label>Register</label><url helper="customer/getRegisterUrl"/><title>Register</title><prepare/><urlParams/><position>10</position></action>
</reference>
</customer_logged_out>
理想的には、local.xml を使用してこれらの変更を行うことをお勧めしますが、これも機能します。