0

ログイン登録とログインリンクに異なるCSSを使用しようとしています。しかし、それらは template_links ブロックを使用して追加されており、自動的にレンダリングされ、特定のテンプレート ファイルがないため、これを達成できません。

 <block type="page/template_links" name="account.links" as="accountLinks"/>

現時点では、css を変更しようとしましたが、明らかに css ルールが同時にすべてに割り当てられています。

どうすればこれを達成できますか?何か提案してください。ありがとうございました

レイアウトを使用してそれを行うことはできますか?

    <customer_logged_in>
        <reference name="account.links">
            <action method="addLink" translate="label title" module="customer"><label>Log Out</label><url helper="customer/getLogoutUrl"/><title>Log Out</title><prepare/><urlParams/><position>2</position></action>
            <action method="removeLinkByUrl"><url helper="customer/getRegisterUrl" /></action>
        </reference>
    </customer_logged_in>

<!--
Load this update on every page when customer is logged out
-->

    <customer_logged_out>
        <reference name="account.links">
            <action method="addLink" translate="label title" module="customer"><label>Login</label><url helper="customer/getLoginUrl"/><title>Login</title><prepare/><urlParams/><position>1</position></action>
            <action method="removeLinkByUrl" ifconfig="enterprise_invitation/general/registration_required_invitation"><url helper="customer/getRegisterUrl" /></action>
            <!-- <action method="addLink" translate="label title" module="customer"><label>register</label><url helper="customer/getRegisterUrl" /><title>register</title><prepare/><urlParams/><position>100</position><li/><a/><before_text> or </before_text><after_text>.</after_text></action> -->
        </reference>
        <remove name="wishlist_sidebar"></remove>
        <remove name="reorder"></remove>
        <remove name="top.menu" />
    </customer_logged_out>

<!--
Layout for customer login page
-->

    <customer_account_login translate="label">
        <label>Customer Account Login Form</label>
        <!-- Mage_Customer -->
        <remove name="right"/>
        <remove name="left"/>
        <reference name="head">
            <action method="addJs"><script>jquery/jquery.js</script></action>
        </reference>
        <reference name="root">
            <action method="setTemplate"><template>page/1column.phtml</template></action>
        </reference>
        <reference name="content">
            <block type="customer/form_login" name="customer_form_login" template="customer/form/login.phtml"/> 
        </reference>
    </customer_account_login>

現在のテーマのリンクは次のようになります

ここに画像の説明を入力

- - - 編集 - - -

クラスを aparam に配置した後でも、クラス要素を表示しない html と同じ古い css ルールが適用されます。custom と style.css の同じテーマに .logout-link クラスを配置しましたが、まだ運がありません。このクラスが見つからず、クロム開発者ツールにも表示されていません。

<customer_logged_in>
<reference name="account.links">
    <action method="addLink" translate="label title" module="customer">
        <label>Log Out</label>
        <url helper="customer/getLogoutUrl"/>
        <title>Log Out</title>
        <prepare/>
        <urlParams/>
        <position>2</position>
        <aParams>class="logout-link"</aParams>
        </action>
    <action method="removeLinkByUrl"><url helper="customer/getRegisterUrl" /></action>
</reference>

<div class="header-links-wrapper">
        <ul class="links">
                    <li class="first last"><a href="http://www.ubt.com/index.php/customer/account/logout/" title="Log Out">Log Out</a></li>
        </ul>
    </div>
4

1 に答える 1

2

addLink以下を使用して、メソッドでクラスを適用できます。

<liParams/>
<aParams>class="My Class Name"</aParams>
<beforeText/>
<afterText/>

たとえば、ログアウト リンクにクラスを追加するには、次のようにします。

<action method="addLink" translate="label title" module="customer">
    <label>Log Out</label>
    <url helper="customer/getLogoutUrl"/>
    <title>Log Out</title><prepare/>
    <urlParams/>
    <position>2</position>
    <liParams/>
    <aParams>class="logout-link"</aParams>
    <beforeText/>
    <afterText/>
</action>

次に、CSS定義を追加するだけですlogout-link

于 2013-04-29T16:06:35.680 に答える