chỉnh sửa liên kết thông tin tài khoản khách hàng


7

Trong /customer/accountđó có một số liên kết

  • bảng điều khiển tài khoản
  • thông tin tài khoản
  • sổ địa chỉ
  • Vân vân

Tôi không có nhu cầu (theo như tôi có thể nói) cho:

  • hồ sơ định kỳ
  • Đơn ứng tuyển của tôi
  • các sản phẩm có thể tải xuống của tôi (hoặc tôi phải có nhu cầu này khi sử dụng mô-đun thẻ quà tặng, tôi chưa biết)

Tôi có thể tắt những thứ này ở đâu? Nó sẽ được cập nhật bằng chứng ;-)

Câu trả lời:


10

Một cách tiếp cận khác với Amit là trong chủ đề của bạn local.xmlđể thay thế hoàn toàn khối cha mẹ customer_account_navulation và sau đó chỉ thêm các liên kết bạn muốn hiển thị. Sử dụng bên dưới và sau đó xóa các dòng bạn không muốn. Xin lưu ý rằng nếu trong tương lai, bất kỳ liên kết nào khác cần được thêm vào, bạn sẽ cần sao chép chúng vào local.xmlđể hiển thị. Là một lợi ích bổ sung, bạn có thể dễ dàng sắp xếp lại các mục.

<?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>

Sử dụng đơn giản và không cần cài đặt. Công việc tốt đẹp. Được nâng cấp
Aakash

4

Chỉ cần làm điều này trong tệp localDB của bạn

<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>

Xóa các liên kết bạn muốn giữ. :-)


Điều này đã không làm việc cho tôi. Kết quả là một lỗi.
Webninja

3

Magento là thêm liên kết ở customer account leftphía bên tay bằng cách sử dụng addLinkchức năng Mage_Customer_Block_Account_Navigationở đây

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 thêm các liên kết bằng mã xml này

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

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

Quá trình dễ dàng nhất

lot of layout xmltập tin nhưtag.xml,outh.xml,customer.xml,checkout.xml

là được bao gồm có link on left navigation using addLink function .Nếu thư mục bố trí của bạn app/design/frontend/your package/your template/layout/ không có các tập tin nhưng nó links are availabletại của bạn account left navigationsau đó theo Magento fallback luận cần phải sao chép những từ app/design/frontend/base/default/layout/để app/design/frontend/your package/your template/layout/.

Sau đó nhận xét mã này các tập tin.

để đi layout xmls filetìm <action method="addLink"mã của bạn và loại bỏ các mã đó

Đúng quy trình sử dụng local.xml

Tạo một phương thức trên Mage_Customer_Block_Account_Navigationloại bỏ liên kết bằng cách sử dụng mã dưới đây

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

Bạn cần tạo một phần mở rộng cho cái này

Bước 1: Viết lại lớp Mage_Customer_Block_Account_Navigation bằng lớpAmit_RemoveNavigation_Block_Customer_Account_Navigation

Tạo tệp Navigation.php tại ứng dụng \ code \ local \ Amit \ RemoveNavulation \ Block \ Customer \ Account

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

Bước2: tạo config.xmltại app\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> 

Bước 3: tạo lớp trình trợ giúp cho mô-đun này Data.phptạipp\code\local\Amit\RemoveNavigation\Helper

<?php
class Amit_RemoveNavigation_Helper_Data extends Mage_Core_Helper_Abstract
{
}

Bước 4: tạo tập tin điều khiển mô-đun Amit_RemoveNavigation.xmltạiapp/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>

Bạn sẽ thấy tại outh.xml mã này

  <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>

được thêm vào liên kết ứng dụng của tôi trên điều hướng bên trái

vì vậy hãy tạo ra local.xmltạiapp/design/frontend/your package/your template/layout/

thêm mã này

<?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>

Bạn sẽ thấy đoạn mã dưới đây tại 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>

Như tôi đã nói, tôi đã thêm xóa liên kết bằng thẻ, <name>downloadable_products</name>vì vậy hãy thêm mã local.xml tôi trông giống như

<?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>

Trong magento thêm điều này bởi

điều này theo logic của bạn

<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>

Wow đó là một sự khác biệt lớn với câu trả lời đầu tiên ... điều gì làm cho điều này tốt hơn (hoặc tồi tệ hơn?)
carlo

calro, chức năng này removeLinkByName không tìm thấy trong Trình bày 1.9
Amit Bera

ah ok, rõ ràng ... tôi sẽ thử phương pháp của bạn ... nó có an toàn không?
carlo

vui lòng xem cập nhật
Amit Bera

0

Trong CE 1.9.3, bạn có thể làm như sau:

Lần 1 xóa toàn bộ khối điều hướng tài khoản:

<!--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>

Bạn thêm lại khối điều hướng tài khoản khách hàng và sau đó thêm các liên kết cần thiết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.