2

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 を使用してこれらの変更を行うことをお勧めしますが、これも機能します。

4

1 に答える 1

0

「top.links」参照内に 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>
           <remove name="checkout_cart_link" />
    </reference>
</customer_logged_out>

<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>10</position></action>
    </reference>
</customer_logged_in>

また、この美しいマニュアルをチェックして、local.xml 内の top.links を編集する方法を完全に理解してください: http://www.classyllama.com/development/magento-development/editing-magentos-top-links-the-better-way

于 2012-10-16T03:04:00.157 に答える