Проблема перезаписи Mage Adminhtml


Это сводит меня с ума. Что я хочу сделать, так это создать новое действие в контроллере:

Mage/Adminhtml/controllers/Sales/OrderController.php

Я переписал, используя это:

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

И класс такой:

require_once (Mage::getModuleDir('controllers','Mage_Adminhtml').DS.'Sales/OrderController.php');
class Mymodule_Resetdownloads_Adminhtml_Sales_OrderController extends Mage_Adminhtml_Sales_OrderController
{

    public function resetAction() {

        $id = $this->getRequest()->getParam('id');
        $this->loadLayout();
        $this->renderLayout();
        echo $id;
    }


}

Теперь перезапись работает, и я знаю это, потому что, если я создам другое действие, такое как viewAction(), оно использует мое. Но моя проблема в том, что я не могу создать новый. Есть идеи, почему? Я делаю что-то не так? Я не получаю никаких ошибок от того, что я сделал, это просто перенаправляет меня на приборная панель.

Author: vbak, 2014-07-25

3 answers

Похоже, проблема связана с вашим URL-ключом, попробуйте добавить его в свой контроллер (затем перейдите в раздел Администратор -> Продажи -> Заказ и нажмите на любой заказ #)

Чтобы получить URL-адрес администратора, используйте

Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/mytest", array('id'=> 1));

Попробуйте

public function mytestAction(){
    echo 'mytestAction()';
}

//
//to be deleted
public function viewAction(){
   echo '<a href ="' . Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/mytest", array('order_id'=> 1)) .'">mytest action</a>';
}
 1
Author: Renon Stewart, 2014-07-28 13:15:51

Вам нужно, чтобы ваш контроллер расширил исходный контроллер: Mage_Adminhtml_Sales_OrderController вместо Mage_Adminhtml_Controller_Action

 0
Author: Marius, 2014-07-25 11:23:25

Попробуйте:

 <modules>
                        <Mymodule_Resetdownloads before="Mage_Adminhtml">Mymodule_Resetdownloads_Adminhtml</Mymodule_Resetdownloads>
                    </modules>
 0
Author: TBI Infotech, 2014-07-25 11:34:06