2013-07-11 1 views
0

Я пытаюсь расширить ядро ​​AccountController.php -> app/code/core/Mage/Customer скопировал его в app/code/local/Mage/и добавил журнал, чтобы узнать, какой проходит правильно.Ошибка расширяет AccountController.php в magento

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); 
... 
... 

И не проходит через код/​​местный/Маг, но CORE. Мне нужно что-то настроить или это не удается?

ответ

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 и вам нужно будет создать AccountController.php с методом createPostAction(). В зависимости от ваших потребностей вы можете или не нуждаться в продлении от и требуют класса контроллера основной учетной записи.

Смежные вопросы