2013-05-07 21 views
1

我試着重載我CartCotroller所以在當地創建文件夾結構喜歡我CartController:如何超載的Magento CartController

app/code/local/Mage/Checkout/controllers/CartController.php 

我的問題是,是否Magento的執行這個控制器和忽略的核心,其在一個? 原因即時嘗試要做的是,我想添加一個條件,當客戶發佈優惠券代碼而不更改我的表單方法值。可能嗎?

回答

1

是的,Magento會執行放置在app/code/local中的控制器,而不是核心文件。實現新代碼或擴展核心的更好方法是創建自己的模塊。所以你可以把所有的自定義代碼放在一個地方,如果你更新了Magento,它是可以保存的。 Smashing Magazine給出了一個很好的關於如何完成這個任務的基本綜述。 http://coding.smashingmagazine.com/2012/03/01/basics-creating-magento-module/

+0

嗯..我已經嘗試做到這一點,但仍然magento執行其中的核心。我的猜測可能是因爲我的表單不是在本地提交給我的核心,而是像你說的magento應該執行本地的那樣,那麼你認爲這裏的問題是什麼? – eurica 2013-05-07 06:52:32

+0

你確定你正在嘗試覆蓋正確的功能嗎?您可以將代碼從本地複製到核心文件,以測試它從那裏執行。如果沒有,你可能會擴展/覆蓋錯誤的控制器或功能。你可以嘗試刪除var/cache /中的所有文件。 – Sam 2013-05-07 07:06:28