0

magento でサプライヤー用のモジュールを作成しています。サプライヤーログインリンクを希望しますtop.links.

リンクを追加するにはどうすればよいですか?

<customer_logged_out>また、のようなタグの意味を教えてください <customer_logged_in>magento/app/design/frontend/base/default/layout/customer.xml

私が使っ<supplier_logged_in>てい<supplier_logged_out>たので

magento/app/design/frontend/default/default/layout/supplier.xml動いていない。

これは私のファイルのサンプルコードです

<supplier_logged_in>
    <reference name="top.links">
        <action method="addLink" translate="label title" module="supplier"><label>Log 11Out</label><url helper="customer/getLogoutUrl"/><title>Log Out</title><prepare/><urlParams/><position>100</position></action>
    </reference>
</supplier_logged_in>

また、<customer_logged_in>ファイルを機能させるための参照はありますか?

4

1 に答える 1

1

トップリンク内にカスタムリンクを追加する方法は次のとおりです。詳細については、http://www.classyllama.com/development/magento-development/editing-magentos-top-links-the-better-wayを参照してください。

<reference name="top.links">
                    <!-- Add custom links. Pretty self-explanatory.
                    Dig into app/code/core/Mage/Page/Block/Template/Links.php for more info -->
                    <action method="addLink" translate="label title">
                        <label>About Us</label>
                        <url>about</url>  <!-- can use full url also -->
                        <title>About Us</title>
                        <prepare>true</prepare> <!-- set true if adding base url param -->
                        <urlParams helper="core/url/getHomeUrl"/> <!-- base url - thanks @Russ! -->
                        <!-- there are a few param you can send to do different things in <urlParams> 
                                 dig into app/code/core/Mage/Core/Model/Url.php, around line 803 -->                   

                        <!-- below adds #add-fragment to the end of your url -->
                        <!-- <urlParams><_fragment>add-fragment</_fragment></urlParams> -->

                        <!-- below adds ?add-query to the end of your url -->
                        <!-- <urlParams><_query>add-fragment</_query></urlParams> -->

                        <!-- below gives you a new session id (i think...)-->
                        <!-- <urlParams><_nosid>true</_nosid></urlParams> -->

                        <!-- below replaces double quotes, single quotes, greater than, and less than signs 
                                 to their respective url escaped replacements (%22, %27, %3E, %3C) -->
                        <!-- <urlParams><_escape>i'm-a-blog-url</_escape></urlParams> -->

                        <position>1</position>
                        <liParams/>
                        <aParams>class="top-link-about-us"</aParams>
                        <beforeText></beforeText>
                        <afterText></afterText>
                    </action>
    </reference>

上記のコードを<default>ノードまたは内部<customer_logged_out>または<customer_logged_in>(顧客がストアにログインまたはログアウトしたときに機能を追加するために Magento によって使用されるこれら 2 つのハンドル) に追加する必要があります。

//app/core/Mage/Core/Model/Layout/Update.php.
class Mage_Customer_Model_Observer
{
    public function beforeLoadLayout($observer)
    {
        $loggedIn = Mage::getSingleton('customer/session')->isLoggedIn();

        $observer->getEvent()->getLayout()->getUpdate()
           ->addHandle('customer_logged_'.($loggedIn?'in':'out'));
    }
}

<supplier_logged_in>拡張機能内で (必要に応じて)使用するには、最初に Magento カスタム拡張機能内にカスタム レイアウト ハンドルを追加する必要があります。それを掘り始めるには、次の記事をお勧めします。

http://magebase.com/magento-tutorials/creating-custom-layout-handles/

http://www.classyllama.com/magento/add-custom-layout-handles-eg-parent-categories

于 2012-11-07T21:18:29.603 に答える