Я пытаюсь редактировать отчеты, созданные здесь, example.com/index.php/admin/sales_order/index/
. Мне нужно добавить новый отчет в раскрывающийся список справа.Контроллер не загружается?
Я проследил эту страницу до своего контроллера через URL-адрес и сбросил класс. app/code/core/Mage/Adminhtml/controllers/Sales/OrderController.php indexAction()
и получил этот класс Ext4mage_Html2pdf_Sales_OrderController
, поэтому я знаю, что он переопределяется модулем. В этом случае модуль Ext4mage Html2pdf.
Этот контроллер просто перезаписывает методики Pdf с использованием,
require_once BP.'/app/code/core/Mage/Adminhtml/controllers/Sales/OrderController.php';
class Ext4mage_Html2pdf_Sales_OrderController extends Mage_Adminhtml_Sales_OrderController{
//etc }
Так что я создал свой новый модуль в местном, надеясь перезаписать это как она в сообществе. app/code/local/Daves/OrderModule/controllers/Sales/OrderController.php
и размещены в следующем.
require_once 'Mage'.DS.'Adminhtml'.DS.'controllers'.DS.'Sales'.DS.'OrderController.php';
require_once BP.'/app/code/community/Ext4mage/Html2pdf/controllers/Sales/OrderController.php';
class Daves_OrderModule_Sales_OrderController extends Ext4mage_Html2pdf_Sales_OrderController{
public function indexAction(){
die();
return parent::indexAction();
}
}
Моя ожидается функциональность будет то, что при перезагрузке страницы продаж/заказов в администратора, я получаю пустую страницу, и я не знаю. Это означает, что мой контроллер не загружается.
В моей среде IDE показано, что классы расширяются, а установка die()
в метод indexAction()
в контроллере Ext4mage_Html2pdf работает должным образом. По какой-то причине он просто пропускает мой контроллер.
Попытка ударить контроллер непосредственно в браузере, используя example.com/admin/daves_ordermodule/sales_order/index
также бросает 404.
Должен ли я пытаться перезаписать блоки вместо этого?
Я не создал фанки <rewrite>
ручками обновления в моей конфигурации, главным образом потому, что я не уверен, нужны ли они мне или куда они будут идти. Поскольку я знаю, что Magento берет у Zend, это ужасное использование xml, я буду вставлять здесь свои конфиги.
app/etc/modules/Daves_OrderModule.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Daves_OrderModule>
<active>true</active>
<codePool>local</codePool>
<depends> <!-- same as in the /app/etc/Mage_All.xml -->
<Mage_Reports/>
<Mage_Adminhtml/>
<Ext4mage_Html2pdf/>
</depends>
</Daves_OrderModule>
</modules>
</config>
app/code/local/Daves/OrderModule/etc/config.xml
0,1
app/code/community/Ext4mage/Html2pdf/etc/config.xml
В частности узлы
<admin>
<routers>
<html2pdf>
<use>admin</use>
<args>
<module>Ext4mage_Html2pdf</module>
<frontName>html2pdf</frontName>
</args>
</html2pdf>
<emailattachments>
<args>
<modules>
<Ext4mage_Html2pdf before="Fooman_EmailAttachments">Ext4mage_Html2pdf</Ext4mage_Html2pdf>
</modules>
</args>
</emailattachments>
<adminhtml>
<args>
<modules>
<Ext4mage_Html2pdf before="Mage_Adminhtml">Ext4mage_Html2pdf</Ext4mage_Html2pdf>
</modules>
</args>
</adminhtml>
</routers>
</admin>
Вы сделали waaay больше, чем вам нужно: -) ... Пожалуйста, добавьте соответствующий '' config из модуля 'Ext4mage_Html2pdf', и вы получите ответ от меня или кого-то еще. –
benmarks
Привет @benmarks Теперь я включил узлы маршрутизаторов из etc/config для Html2pdf –
Привет, Читайте ниже, статья - лучшее решение для контроля над контроллером http://www.forum2tech.com/discussion/38/controller-file-was -loaded-but-class-does-not-exist # Item_1 –