Ребята помогите с привязать действия на кнопку. Создал с помощью наблюдателя кнопку в редакторе заказа административной панели, кнопка видна, при нажатии есть вспмывающие окно с запросом на подтверждение действия. Когда нажимаю подтвердить выкидывает на страницу 404 со следующим URL
localhost/index.php/admin/mymod/mybutton/order_id/2
Файлы моего модуля
/app/etc/modules/My_Mod.xml
<?xml version="1.0" encoding="utf-8" standalone="no"?> <config> <modules> <My_Mod> <active>true</active> <codePool>local</codePool> </My_Mod> </modules> </config>
app/code/local/My/Mod/etc/config.xml
<?xml version="1.0" encoding="utf-8" standalone="no"?> <config> <modules> <My_Mod> <version>0.1.0</version> </My_Mod> </modules> <global> <models> <my_mod> <class>My_Mod_Model</class> <resourceModel>my_mod_resource</resourceModel> </my_mod> <my_mod_resource> <class>My_Mod_Model_Resource</class> </my_mod_resource> </models> </global> <adminhtml> <events> <adminhtml_widget_container_html_before> <observers> <my_mod> <class>my_mod/observer</class> <type>singleton</type> <method>addButtons</method> </my_mod> </observers> </adminhtml_widget_container_html_before> </events> </adminhtml> </config>
app/code/local/My/Mod/Model/Observer.php
<?php class My_Mod_Model_Observer { public function addButtons($observer) { $block = $observer->getBlock(); if ($block instanceof Mage_Adminhtml_Block_Sales_Order_View) { $message = Mage::helper('core')->__('Are you sure you want to do this?'); $block->addButton('my_button', array( 'label' => Mage::helper('core')->__('My Button'), 'onclick' => "confirmSetLocation('{$message}', '{$block->getUrl('*/mymod/mybutton')}')", 'class' => 'go' )); } } }
app/code/local/My/Mod/controllers/Adminhtml/MymodController.php
<?php class My_Mod_Adminhtml_MymodController extends Mage_Adminhtml_Controller_Action { public function myButtonAction() { die('test'); } }
Что я делаю не так? По кнопке хочу сделать добавление комментария к заказу и смены статуса
На кнопку можно повесить только контроллер. Обзервер может сработать из контроллера. Контроллеры задаются в
<config>
<admin> <routers>
<adminhtml>
<args>
<modules>