如何覆盖Magento控制器?

Joh*_*hnT 6 php overriding controllers magento

我需要使用服务器端代码检查结账/购物车页面上的优惠券代码的有效性.

Magento已经配备了类似的支票.但是,我需要添加一个以查看用户是否已连接:在Magento中扩展/覆盖该操作的最佳方法是什么?

我知道我可以将控制器PHP文件复制到/app/code/local/文件夹树,但我想知道是否有更好的方法来实现它.

B00*_*MER 11

除了修改之外的任何东西core在我看来都很好.据说用config.xml创建一个带有控制器目录等的简单模块:

<config>
    <frontend>
        <routers>
            <checkout>
                <args>
                    <modules>
                         <My_Module before="Mage_Checkout">My_Module_Checkout</My_Module>
                    </modules>
                </args>
            </checkout>
        </routers>
    </frontend>
</config>
Run Code Online (Sandbox Code Playgroud)

看到这里就如何扩展前端控制器的详细信息: http://prattski.com/2010/06/24/magento-overriding-core-files-blocks-models-resources-controllers/

  • 事实上,我这样做了,但我需要在require_once上明确添加一个require("Mage/Checkout/controllers/CartController.php"); (2认同)
  • 你能用完整的config.xml和控制器代码更新帖子吗? (2认同)