西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

管理Magento账户面板的导航链接

时间:2017-01-28 11:53来源:未知 作者:好模板 点击:
本文中我将Magento演示如何管理用户账户面板里的导航链接:一种去掉账户面板链接时要避免的方式和另一种要执行的方式。 一种删除指定链接的方法是注释掉显示这个链接的动作。我

本文中我将Magento演示如何管理用户账户面板里的导航链接:一种去掉账户面板链接时要避免的方式和另一种要执行的方式。

一种删除指定链接的方法是注释掉显示这个链接的动作。我将以账户面板的 “Account Information”链接为例,这个链接位于 app/design/frontend/base/default/layout/customer.xml。

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

然而,编辑Magento的核心文件从来都不是一个好的想法。我们将用些不一样的东西来替代这个方法。

首先,我们必须编辑我们的config.xml文件,我们要重写Magento的核心文件。


<global>
    <blocks>
        <customer>
            <rewrite>
                <account_navigation>Alwayly_Core_Block_Customer_Account_Navigation</account_navigation>
            </rewrite>
        </customer>
    </blocks>
</global>

接着,我们要定义我们的布局文件:

    <frontend>
        <layout>
            <updates>
                <alwayly_core>
                    <file>alwayly_core.xml</file>
                </alwayly_core>
            </updates>
        </layout>
    </frontend>

下一步就是用下面的代码创建Block/Customer/Account/Navigation.php

class Alwayly_Core_Block_Customer_Account_Navigation extends Mage_Customer_Block_Account_Navigation
{
    public function removeLinkByName($name) {
        unset($this->_links[$name]);
    }
}

最后要做的就是创建布局文件app/design/frontend/default/default/layout/alwayly_core.xml


<?xml version="1.0" ?>
<layout version="0.1.0">
    <customer_account translate="label">
        <reference name="customer_account_navigation">
            <action method="removeLinkByName"><name>billing_agreements</name></action>
            <action method="removeLinkByName"><name>recurring_profiles</name></action>
            <action method="removeLinkByName"><name>tags</name></action>
            <action method="removeLinkByName"><name>my_wishlist</name></action>
            <action method="removeLinkByName"><name>OAuth Customer Tokens</name></action>
            <action method="removeLinkByName"><name>my_downloadable_products</name></action>
        </reference>
    </customer_account>
</layout>

现在,对于每个我们想要移除的导航链接,我们需要加上连接名并把链接名写入名字标签。

下面列举出账户面板导航链接名(按默认显示排列)

  • Account Dashboard
  • Account Information
  • Address Book
  • My Orders
  • Billing Agreements
  • Recurring Profiles
  • My Product Reviews
  • My Wishlist
  • My Applications
  • Newsletter Subscriptions
  • My Downloadable Products

添加一个新的导航链接相对来说简单一些。我们要做的只是将以下代码加到我们的布局文件中

<?xml version="1.0" ?>
<layout version="0.1.0">
   <customer_account translate="label">
        <reference name="customer_account_navigation">
            <action method="addLink">
                <name>test checkout</name>
                <path>checkout</path>
                <label>Alwayly Checkout</label>
            </action>
        </reference>
    </customer_account>
</layout>
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------