2013-07-11 86 views
0

我試圖擴展核心AccountController.php - > app/code/core/Mage/Customer將其複製到app/code/local/Mage /並添加日誌以查看哪些正確地延伸。Error在magento中擴展AccountController.php

In the file AccountController.php (app/code/local/Mage/Customer/controllers) 
... 
... 
public function createPostAction() { 
     Mage::log('In app/code/local/Mage/', null, 'test.log', true); 
... 
... 

AND CORE (only test) 
In the file AccountController.php (app/code/core/Mage/Customer/controllers) 
... 
... 
public function createPostAction() { 
     Mage::log('In app/code/core/Mage/', null, 'test.log', true); 
... 
... 

並沒有通過代碼/本地/法師,但通過核心。 我需要配置一些東西或失敗?

回答

1

我猜你需要需要原始控制器:

require_once Mage::getModuleDir('controllers', 'Mage_Customer').DS.'AccountController.php'; 

通常情況下,你需要重寫控制器的XML的方式來做到這一點...我還沒有代碼檢查,但也許這就是問題所在。

我建議經由config.xml中

http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/how_to_overload_a_controller

+0

我只是嘗試創建一個模塊添加繞過一切,但模塊總是通過CORE – Alexd2

2

做到這一點的常規方式,通過該控制器類定義加載的邏輯構建上述的文件路徑明確包括其上的路徑自動裝載機依賴。這意味着沒有本地優先和核心優先。

您需要的XPath frontend/routers/customer/args/modules/your_module

後者節點需要before屬性設置爲Mage_Customer,你將需要用createPostAction()方法創建一個AccountController.php下指定一個目錄來創造一個控制器重寫。根據您的需求,您可能需要或可能不需要延長,並且需要核心帳戶控制器類。