顧客アカウント情報リンクを編集する


7

では/customer/account、いくつかのリンクがあります

  • アカウントダッシュボード
  • 口座情報
  • 住所録

(私が知る限り)私は必要がありません:

  • 定期的なプロファイル
  • 私のアプリケーション
  • 私のダウンロード可能な製品(または、ギフトカードモジュールを使用するときにこれが必要になるはずですが、まだわかりません)

これらはどこでオフにできますか?更新証明でなければなりません;-)

回答:


10

Amitの代替アプローチは、テーマのlocal.xml親ブロックcustomer_account_navigationを完全に置き換え、表示するリンクのみを追加することです。以下を使用して、不要な行を削除してください。今後他のリンクを追加する必要がある場合は、表示するためにそれらをにコピーする必要があることに注意してくださいlocal.xml。追加の特典として、アイテムを簡単に並べ替えることができます。

<?xml version="1.0"?>
<layout version="0.1.0">
    <customer_account>
        <block type="customer/account_navigation" name="customer_account_navigation" before="-" template="customer/account/navigation.phtml">
                <action method="addLink" translate="label" module="customer"><name>account</name><path>customer/account/</path><label>Account Dashboard</label></action>
                <action method="addLink" translate="label" module="customer"><name>account_edit</name><path>customer/account/edit/</path><label>Account Information</label></action>
                <action method="addLink" translate="label" module="customer"><name>address_book</name><path>customer/address/</path><label>Address Book</label></action>                    
                <action method="addLink" translate="label" module="downloadable"><name>downloadable_products</name><path>downloadable/customer/products</path><label>My Downloadable Products</label></action>                    
                <action method="addLink" translate="label" module="newsletter"><name>newsletter</name><path>newsletter/manage/</path><label>Newsletter Subscriptions</label></action>                    
                <action method="addLink" translate="label" module="review"><name>reviews</name><path>review/customer</path><label>My Product Reviews</label></action>                    
                <action method="addLink" translate="label" module="sales"><name>orders</name><path>sales/order/history/</path><label>My Orders</label></action>
                <action method="addLink" translate="label" module="tag"><name>tags</name><path>tag/customer/</path><label>My Tags</label></action>
                <action method="addLink" translate="label" module="wishlist" ifconfig="wishlist/general/active"><name>wishlist</name><path>wishlist/</path><label>My Wishlist</label></action>
                <action method="addLink" translate="label" module="oauth">
                    <name>OAuth Customer Tokens</name>
                    <path>oauth/customer_token</path>
                    <label>My Applications</label>
                </action>                    
        </block>
    </customer_account>
</layout>

使い方は簡単で、インストールは必要ありません。よくやった。賛成
Aakash

4

これをlocal.xmlで行うだけです

<customer_account>
    <reference name="customer_account_navigation" >
            <!-- remove the link using your custom method -->
            <action method="removeLinkByName"><name>recurring_profiles</name>   </action>
            <action method="removeLinkByName"><name>billing_agreements</name></action>
            <action method="removeLinkByName"><name>reviews</name></action>
            <action method="removeLinkByName"><name>downloadable_products</name></action>
            <action method="removeLinkByName"><name>OAuth Customer Tokens</name></action>

            <action method="removeLinkByName"><name>account</name></action>
            <action method="removeLinkByName"><name>account_edit</name></action>
            <action method="removeLinkByName"><name>address_book</name></action>
            <action method="removeLinkByName"><name>orders</name></action>
            <action method="removeLinkByName"><name>tags</name></action>
            <action method="removeLinkByName"><name>wishlist</name></action>
            <action method="removeLinkByName"><name>newsletter</name></action>

    </reference>
</customer_account>

保持するリンクを削除します。:-)


これは私にはうまくいきませんでした。エラーが発生しました。
Webninja

3

Magentoは、こちらの機能をcustomer account left使用して、手元にリンクを追加addLinkMage_Customer_Block_Account_Navigationます

public function addLink($name, $path, $label, $urlParams=array())
{
    $this->_links[$name] = new Varien_Object(array(
        'name' => $name,
        'path' => $path,
        'label' => $label,
        'url' => $this->getUrl($path, $urlParams),
    ));
    return $this;
}

Magentoはこのxmlコードでこれらのリンクを追加します

<action method="addLink" translate="label" module="customer"><name>account</name>

<path>customer/account/</path><label>Account Dashboard</label></action>

最も簡単なプロセス

lot of layout xmlようなファイルがありますtag.xml,outh.xml,customer.xml,checkout.xml

link on left navigation using addLink function レイアウトフォルダーにapp/design/frontend/your package/your template/layout/ これらのファイルが含まれて いなかった場合links are availableは、account left navigationmagentoフォールバックロジックに従って、それらをからapp/design/frontend/base/default/layout/にコピーする必要がありますapp/design/frontend/your package/your template/layout/

次に、このコードをこれらのファイルにコメントします。

layout xmls file検索 <action method="addLink"コードに移動してそれらのコードを削除するには

local.xmlを使用した適切なプロセス

Mage_Customer_Block_Account_Navigation以下のコードを使用してリンクを削除するときにメソッドを作成します

public function removeLink($removename)
{
    unset($this->_links[$removename]);
    return $this;
}

このための拡張を作成する必要があります

ステップ1:クラスMage_Customer_Block_Account_Navigation を使用してクラスを書き換える Amit_RemoveNavigation_Block_Customer_Account_Navigation

app \ code \ local \ Amit \ RemoveNavigation \ Block \ Customer \ AccountにNavigation.phpファイルを作成します

<?php
class Amit_RemoveNavigation_Block_Customer_Account_Navigation extends Mage_Customer_Block_Account_Navigation
{
    public function removeLink($removename)
    {
        unset($this->_links[$removename]);
        return $this;
    }
}

ステップ2:作成config.xmlapp\code\local\Amit\RemoveNavigation\etc

<?xml version="1.0"?>
<config>
  <modules>
    <Amit_RemoveNavigation>
      <version>1.0.0</version>
    </Amit_RemoveNavigation>
  </modules>
  <global>
    <helpers>
      <removenavigation>
        <class>Amit_RemoveNavigation_Helper</class>
      </removenavigation>
    </helpers>
    <blocks>
      <removenavigation>
        <class>Amit_RemoveNavigation_Block</class>
      </removenavigation>
            <customer>
                <rewrite>
                    <account_navigation>Amit_RemoveNavigation_Block_Customer_Account_Navigation</account_navigation>
                </rewrite>
            </customer>
    </blocks>
  </global>
</config> 

ステップ3:このモジュールのヘルパークラスを作成 Data.phpするpp\code\local\Amit\RemoveNavigation\Helper

<?php
class Amit_RemoveNavigation_Helper_Data extends Mage_Core_Helper_Abstract
{
}

ステップ4:でモジュール制御ファイルAmit_RemoveNavigation.xmlを作成するapp/etc/modules/

<?xml version="1.0"?>
<config>
  <modules>
    <Amit_RemoveNavigation>
      <active>true</active>
      <codePool>local</codePool>
      <version>1.0.0</version>
    </Amit_RemoveNavigation>
  </modules>
</config>

あなたはouth.xmlでこのコードを見るでしょう

  <reference name="customer_account_navigation">
        <action method="addLink" translate="label" module="oauth">
            <name>OAuth Customer Tokens</name>
            <path>oauth/customer_token</path>
            <label>My Applications</label>
        </action>
    </reference>

左側のナビゲーションのアプリケーションリンクに追加されます

で作成 local.xmlするapp/design/frontend/your package/your template/layout/

このコードを追加

<?xml version="1.0"?>
<layout version="0.1.0">
       <reference name="customer_account_navigation">
            <action method="removeLink" translate="label" module="oauth">
                <name>OAuth Customer Tokens</name> <!-- remove by name -->
            </action>
        </reference>
</layout>

以下のコードが表示されます downloadable.xml

<customer_account>
        <reference name="customer_account_navigation">
            <action method="addLink" translate="label" module="downloadable"><name>downloadable_products</name><path>downloadable/customer/products</path><label>My Downloadable Products</label></action>
        </reference>
    </customer_account>

タグでリンクを削除して追加した<name>downloadable_products</name>ので、local.xmlコードを追加しました。

<?xml version="1.0"?>
<layout version="0.1.0">
       <reference name="customer_account_navigation">
            <action method="removeLink" translate="label" module="oauth">
                <name>OAuth Customer Tokens</name> <!-- remove by name -->
            </action>
       <action method="removeLink" translate="label" module="oauth">
                <name>downloadable_products</name> <!-- remove by name -->
            </action>

    </reference>
</layout>

マジェントでこれを追加します

この ロジックに従ってタグ付け

<name>recurring_profiles</name>   
<name>billing_agreements</name>
<name>reviews</name>
<name>downloadable_products</name>
<name>OAuth Customer Tokens</name>

<name>account</name>
<name>account_edit</name>
<name>address_book</name>
<name>orders</name>
<name>tags</name>
<name>wishlist</name>
<name>newsletter</name>

うわー、それは最初の答えとの大きな違いです...これを良くする(または悪くする)
理由は

calro、この関数removeLinkByNameはmsgento 1.9にはありません
Amit Bera

ああ、わかりました...私はあなたの方法を試します...それは安全ですか?
carlo 2014年

アップデートをご覧ください
アミットベラ

0

CE 1.9.3では、次のことができます。

まず、アカウントナビゲーションブロックを完全に削除します。

<!--Unset the whole block then add back later-->
<action method="unsetChild">
    <name>customer_account_navigation</name>
</action>
<block type="customer/account_navigation" name="customer_account_navigation" before="-" template="customer/account/navigation.phtml">
    <action method="addLink" translate="label" module="customer">
        <name>account</name>
        <path>customer/account/</path>
        <label>Account Dashboard</label>
    </action>
    <action method="addLink" translate="label" module="customer">
        <name>account_edit</name>
        <path>customer/account/edit/</path>
        <label>Account Information</label>
    </action>
    <action method="addLink" translate="label" module="customer">
        <name>address_book</name>
        <path>customer/address/</path>
        <label>Address Book</label>
    </action>
    <action method="addLink" translate="label" module="sales">
        <name>orders</name>
        <path>sales/order/history/</path>
        <label>My Orders</label>
    </action>
    <action method="addLink" translate="label" module="wishlist" ifconfig="wishlist/general/active">
        <name>wishlist</name>
        <path>wishlist/</path>
        <label>My Favorite</label>
    </action>
    <action method="addLink" translate="label" module="newsletter">
        <name>newsletter</name>
        <path>newsletter/manage/</path>
        <label>Newsletter Subscriptions</label>
    </action>
</block>

顧客アカウントのナビゲーションブロックを再度追加して、必要なリンクを追加します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.