2

我正在创建一个模块,允许客户在未达到处理阶段时编辑他们的订单,到目前为止一切正常,但是在订单历史记录页面上我有这 3 个链接

View Order        | http://www.site.com/Current-Build/sales/order/view/order_id/[ID]/
Reorder           | http://www.site.com/Current-Build/sales/order/reorder/order_id/[ID]/
Edit Order (mine) | http://www.site.com/Current-Build/mymodulefrontname/order/edit/order_id/[ID]/

<frontName>为了让事情看起来整洁,我尝试通过将我的模块更改为 config.xml 中的 sales 并更改mymodulefrontnameto来更改我的链接以匹配前 2 个链接sales,而这对我的链接问题有效,现在前 2 个链接现在转到404 页

有没有办法让我的模块与 Mage_Sales 具有相同的名称而不会引起冲突

4

1 回答 1

5

Magento在 Magento 1.3 [link] 中引入了在现有名称下添加目录的功能

在您的情况下,适当的语法是:

<frontend>
    <routers>
        <sales>
            <args>
                <modules>
                    <arbitrary after="Mage_Sales">Your_Module_Sales</arbitrary>
                    <!-- points to Your/Module/controllers/Sales/ -->
                </modules>
            </args>
        </sales>
    </routers>
</frontend>

使用方法在匹配目录中创建一个OrderController.phpeditAction()类,然后您就可以开展业务了。

作为风格问题,上述配置将开始匹配模块控制器目录下的Sales子目录中的路由。我更喜欢将这些类型的控制器分开;您可以选择一个不同的子目录或选择根本不使用一个。

于 2013-03-05T00:53:00.040 回答