如何重载magento CartController

如何重载magento CartController,magento,controller,overloading,cart,Magento,Controller,Overloading,Cart,我正在尝试过载我的CartCotroller,以便在本地创建类似于我的CartController的文件夹结构: app/code/local/Mage/Checkout/controllers/CartController.php 我的问题是,magento是否执行此控制器而忽略其核心中的控制器? 因为我想做的是,当客户发布优惠券代码而不更改我的表单方法值时,我想添加一个条件。可能吗?是的,Magento将执行放置在app/code/local中的控制器,而不是核心文件。实现新代码或扩展核心

我正在尝试过载我的CartCotroller,以便在本地创建类似于我的CartController的文件夹结构:

app/code/local/Mage/Checkout/controllers/CartController.php
我的问题是,magento是否执行此控制器而忽略其核心中的控制器?
因为我想做的是,当客户发布优惠券代码而不更改我的表单方法值时,我想添加一个条件。可能吗?

是的,Magento将执行放置在app/code/local中的控制器,而不是核心文件。实现新代码或扩展核心的更好方法是创建自己的模块。因此,您可以将所有自定义代码放在一个位置,如果您更新Magento,则可以对其进行维护。
《粉碎》杂志就如何实现这一目标给出了一个很好的基本综述

是,Magento将执行放置在app/code/local中的控制器,而不是核心文件。实现新代码或扩展核心的更好方法是创建自己的模块。因此,您可以将所有自定义代码放在一个位置,如果您更新Magento,则可以对其进行维护。
《粉碎》杂志就如何实现这一目标给出了一个很好的基本综述

嗯。。我已经试着这样做了,但仍然是magento执行核心中的一个。我猜可能是因为我不是在本地向core提交表单,而是像你说的那样,magento应该执行本地表单,那么你认为这里的问题是什么?你确定要覆盖正确的函数吗?您可以将代码从本地复制到核心文件,以测试它是否从那里执行。如果不是,则可能是扩展/覆盖了错误的控制器或函数。您可以尝试删除var/cache/.hmm中的所有文件。。我已经试着这样做了,但仍然是magento执行核心中的一个。我猜可能是因为我不是在本地向core提交表单,而是像你说的那样,magento应该执行本地表单,那么你认为这里的问题是什么?你确定要覆盖正确的函数吗?您可以将代码从本地复制到核心文件,以测试它是否从那里执行。如果不是,则可能是扩展/覆盖了错误的控制器或函数。您可以尝试删除var/cache/中的所有文件。