2

マジェントの新人です

My Orders顧客アカウント ダッシュボードのナビゲーションでリンクを削除する場所を知っている人はいますか?

4

2 に答える 2

2

わかったガイズ

これは非常にトリッキーで難しいです

以下のコードにコメントしたいだけです

sales.xml

<customer_account>
        <!-- Mage_Sales -->
        <reference name="customer_account_navigation">
            <action method="addLink" translate="label" module="sales"><name>orders</name><path>sales/order/history/</path><label>My Orders</label></action>
        </reference>

    </customer_account>
于 2012-11-14T07:16:59.227 に答える
1

これは具体的なリンク用だと思いますが、顧客ダッシュボードへのリンクを削除したい場合は、新しいアクションをブロック Mage_Customer_Block_Account_Navigation に追加する小さなモジュールを作成できます

ここでの解決策:

拡張機能のカスタム ブロック:

class CA_Removecustomerlinks_Block_Account_Navigation extends Mage_Customer_Block_Account_Navigation
{
    /**
     * Removes link by name
     *
     * @param string $name
     * @return Mage_Page_Block_Template_Links
     * @author @davidselo
     * @company @compraAmiga
     */
    public function removeLinkByName($name)
    {
        foreach ($this->_links as $k => $v) {
            if ($v->getName() == $name) {
                unset($this->_links[$k]);
            }
        }
    
        return $this;
    }
    
}

モジュールの構成

config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <modules>
        <CA_Removecustomerlinks>
            <version>0.1.0</version>
        </CA_Removecustomerlinks>
    </modules>
    <global>
        <blocks>
            <customer>              
                   <rewrite>
                        <account_navigation>CA_Removecustomerlinks_Block_Account_Navigation</account_navigation>
                    </rewrite>
            </customer>
        </blocks>
    </global>
</config>

これで、local.xml で必要に応じて削除できます

<customer_account>
        <reference name="customer_account_navigation">
                <action method="removeLinkByName"><name>recurring_profiles</name></action>
                <action method="removeLinkByName"><name>billing_agreements</name></action>
                <action method="removeLinkByName"><name>downloadable_products</name></action>
        </reference>   
    </customer_account>
于 2012-11-14T11:07:13.223 に答える