0

简而言之:覆盖一页购物车控制器并单击前端的“结帐”不再将您重定向到结帐/单页/

细节:我正在尝试覆盖一些 OnepageController 功能 - 本质上,它总是会从计费选项卡转到运输选项卡,其中我可以要求一些额外的与运输相关的信息,这些信息用于计算运费.

所以,这里是 config.xml 位:

<frontend>
    <routers>
        <checkout>
            <args>
                <modules>
                    <CodexMedia_SmartSend before="Mage_Checkout">
                    CodexMedia_SmartSend
                    </CodexMedia_SmartSend>
                </modules>
            </args>
        </checkout>
    </routers>
</frontend>

.. 它使用了一个新的 OnepageController 实例(位于 CodexMedia/SmartSend/controllers/OnepageController.php),它扩展了 Mage_Checkout_OnepageController)这个控制器只有 saveBillingAction() 被修改为总是推出运输标签而不是直接进入支付信息(我当我让它正常工作时,将添加自定义 saveShippingAction 逻辑)。

我最好的猜测是我已经绑定了某种路由

谢谢你的帮助!

编辑:将控制器移动到控制器/结帐,将类更改为 CodexMedia_SmartSend_Checkout_Onepagecontroller 并将配置更改为:

        <checkout>
            <args>
                <modules>
                    <CodexMedia_SmartSend_Checkout before="Mage_Checkout">CodexMedia_SmartSend_Checkout</CodexMedia_SmartSend_Checkout>
                </modules>
            </args>
        </checkout>

答对了!都好。谢谢您的帮助!

4

1 回答 1

2

您需要删除 CodexMedia_SmartSend 标签之间的换行符。配置文件应如下所示

<frontend>
    <routers>
        <checkout>
            <args>
                <modules>
                    <CodexMedia_SmartSend before="Mage_Checkout">CodexMedia_SmartSend</CodexMedia_SmartSend>
                </modules>
            </args>
        </checkout>
    </routers>
</frontend>
于 2013-06-13T06:27:53.027 回答