2013-05-10 3 views
1

Итак, я пытаюсь переопределить основное действие MassDelete CustomerController. Это то, что я до сих пор:Magento: Попытка переопределить контроллер

config.xml 

<frontend> 
    <routers> 
    <customer_massdelete> 
     <args> 
     <modules> 
      <MyModule_MyExtension before="Mage_Adminhtml">MyModule_MyExtension</MyModule_MyExtension> 
     </modules> 
     </args> 
    </customer_massdelete> 
    </routers> 
</frontend> 

Мой контроллер:

app/code/local/MyModule/MyExtension/controllers/CustomerController.php 

<?php 
require_once 'Mage/Adminhtml/controllers/CustomerController.php'; 
class MyModule_MyExtension_CustomerController extends Mage_Adminhtml_CustomerController { 
    public function massDeleteAction() { 
    die('my controller'); 
    } 
} 

Но когда я запускаю масса удалить штамп, что я положил в их контроллер запускается вместо этого. Есть идеи?

UPDATE:

опробовали решение следующим образом:

<config> 
    <admin> 
    <routers> 
     <adminhtml>   
     <args> 
      <modules> 
      <MyModule_MyExtension before="Mage_Adminhtml">MyModule_MyExtension</MyModule_MyExtension> 
      </modules> 
     </args> 
     </adminhtml> 
    </routers> 
    </admin> 
</config> 

еще ничего ...

UPDATE 2:

Мой последний config.xml был как это:

<config> 
    <admin> 
    <routers> 
     <adminhtml>  
     <args> 
      <modules> 
      <Mymodule_Myextension before="Mage_XmlConnect_Adminhtml">Mymodule_Myextension</Mymodule_Myextension> 
      </modules> 
     </args>  
     </adminhtml> 
    </routers> 
    </admin> 
</config> 

Однако, если у меня есть до = "Mage_XmlConnect_Adminhtml", тогда я получаю некоторые проблемы с переопределением при попытке перейти на большинство индексных страниц. Однако, если я поменяю приоритет, он не будет отменен. Поэтому я снова застрял.

+0

твой модуль объявлен? ('app/etc/modules/MyModule_MyExtension.xml') очищается? – OSdave

+0

Да модуль объявлен и работает на кучу других вещей. Кэш отключен, но я вручную сбросил его на всякий случай. Все еще ничего –

+0

Что-нибудь в журналах? – OSdave

ответ

0

я думаю, ваш config.xml является ложным, вы можете попробовать:

<admin> 
    <routers> 
     <adminhtml> 
     <args> 
      <modules> 
      <MyModule_MyExtension before="Mage_Adminhtml">MyModule_MyExtension</MyModule_MyExtension> 
      </modules> 
     </args> 
     </adminhtml> 
    </routers> 
</admin> 

ссылка: http://prattski.com/2010/06/24/magento-overriding-core-files-blocks-models-resources-controllers/

+0

Я сделал изменения и все еще ничего. См. Обновление для текущей конфигурации –

+0

@BillGarrison только что пробовал, ссылочный код отлично работает для меня. Конечно, вы не просто забыли активировать свой модуль? –

+0

Да, у меня был модуль для других вещей. Это еще один шаг в этом процессе. Из всех других примеров я вижу, что это СЛЕДУЕТ работать ... Я знаю, что мне нужно пропустить что-то маленькое ... Я просто не вижу его –

0

Так после долгих исследований я наконец понял вопрос. Моя проблема была с before="Mage_Adminhtml" в config.xml. Из-за того, что предприятие работает, недостаточно переопределить класс верхнего уровня.

Я использовал print_r(Mage::getConfig()->getNode('admin/routers/adminhtml'), true), чтобы выяснить все модули, переопределяющие его и работающие по списку. Mage_XmlConnect_Adminhtml был последним классом, который перегружал этот метод до корпоративных методов.

Мой последний config.xml было так:

<config> 
    <admin> 
    <routers> 
     <adminhtml>  
     <args> 
      <modules> 
      <Mymodule_Myextensionbefore="Mage_XmlConnect_Adminhtml">Mymodule_Myextension</Mymodule_Myextension> 
      </modules> 
     </args>  
     </adminhtml> 
    </routers> 
    </admin> 
</config> 

Он теперь работает отлично (Edit: Нету оно не ... см комментарии ниже)

+0

Так что у меня с этим немного проблемы. Если у меня есть до = «Mage_XmlConnect_Adminhtml», тогда я получаю некоторые проблемы с переопределением при попытке перейти на большинство страниц индекса. Однако, если я поменяю приоритет, он не будет отменен. Поэтому я снова застрял. –