Php 在magento中更改我的帐户页面中的导航顺序

Php 在magento中更改我的帐户页面中的导航顺序,php,magento,magento-1.7,Php,Magento,Magento 1.7,我在我的帐户页面前端的我的帐户页面中添加新链接脱机订单 其在导航中添加成功 但它在菜单中最后一个显示 我想在我的订单后添加离线订单链接 下面给出的代码是我在导航链接中添加链接的地方 <reference name="customer_account_navigation"> <action method="addLink" translate="label" module="offorder"><name>offlineorder

我在我的帐户页面前端的我的帐户页面中添加新链接脱机订单

其在导航中添加成功

但它在菜单中最后一个显示

我想在我的订单后添加离线订单链接

下面给出的代码是我在导航链接中添加链接的地方

    <reference name="customer_account_navigation">

          <action method="addLink" translate="label" module="offorder"><name>offlineorders</name><path>offorder/offorder/history</path><label>My OfflineOrder</label></action>

    </reference>

</customer_account>


脱机订单福特/脱机订单/历史我的脱机订单
要更改链接顺序,我必须做什么?

没有“开箱即用”的方法,除非您将代码放在所需链接正下方的
sales.xml
布局文件中。
这是因为处理客户帐户菜单的
Mage\u Customer\u Block\u Account\u导航
块无法对链接进行排序。请参见添加链接的方法:

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

还有另一个选项,可以覆盖上面提到的块,在方法
getLinks
中,您可以排列第一个,而不是返回链接。但我不会去那里

用于更改我的帐户中的导航顺序

例如,您想要更改myaccount链接,请转到布局->customer.xml

添加这一行

<action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
我的账户我的账户10
此处的位置将定义链接排序顺序您必须更改每个链接的位置,就像我的订单一样(为此,您必须更改sales.xml)

方法对我根本不起作用

作为一种解决方法,我使用了
方法,其中帐户导航块首先填充了链接

在我的情况下,这是在

<customer_account translate="label">
  <!-- -->
  <reference name="left">
     <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>My Account</label></action>
        <action method="addLink" translate="label" module="myModule"><name>myLInk</name><path>my/path/</path><label>My Link</label></action>
     </block>
  </reference>
  <!-- -->
</customer_account>

账户客户/账户/我的账户
myLInkmy/path/My链接

您可以通过更改XML文档中的数字来更改顺序

因此,如果您希望销售订单历史记录位于我的仪表板旁边,则需要将220更改为240。它是240,因为仪表板订单号是250

销售/订单/历史记录 订单历史 220

我在客户账户页面中添加了链接,添加成功,但在最后一次显示时,我需要在我的订单之后显示链接,所以我必须做的就是我解释的。您需要将此行
offlineordersoforder/offorder/history我的OfflineOrder
添加到
sales.xml
布局文件中,就在您希望它出现的链接下方。没有办法订购链接。它们是按解析顺序显示的。但是,当我必须为客户端创建自定义模块时,我必须在核心文件中进行更改吗?不一定是核心文件。它可以是自定义主题中的
sales.xml
布局文件。如果您不想这样做,可以选择覆盖
Mage\u Customer\u Block\u Account\u Navigation
,并在检索链接之前建立添加链接或对链接排序的逻辑。仔细阅读答案。