Ответ 1
Вы пробовали adminhtml вместо admin?
Mage::app()->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/view", array('order_id'=>'1')));
Я хочу перенаправить пользователя из моего backend-модуля в admin/order_sale/view, но я не могу. Когда я использую:
Mage::app()->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl("admin/sales_order/view", array('id'=>'1')));
Magento вырезает "admin" из URL, чтобы он выглядел так:
http://magento1702.local/index.php//sales_order/view/id/1/key/fdb6089cf1e5cd77f85f085def1a013a/
и я получаю 404 страницы. Любая идея, как перенаправить на модуль администратора пурпурно?
Вы пробовали adminhtml вместо admin?
Mage::app()->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/view", array('order_id'=>'1')));
Я думаю, что вы ищете adminhtml.
Mage::helper('adminhtml')->getUrl("*/sales_order/view", array('order_id'=>'1'))
NB. Параметр в 1.7 по крайней мере является order_id, а не id. Не уверен, что это было в старых версиях.
Причина, по которой вы сталкиваетесь с этой проблемой, связана с тем, как вы создаете свой модуль администратора
Взгляните на это http://turnkeye.com/blog/magento-admin-form/
Взгляните на (note after = "Mage_Adminhtml" )
<admin>
<routers>
<adminhtml>
<args>
<modules>
<turnkeye_adminform after="Mage_Adminhtml">Turnkeye_Adminform_Adminhtml</turnkeye_adminform>
</modules>
</args>
</adminhtml>
</routers>
</admin>
После обновления кода вы можете сделать
$this->_redirect('*/sales_order/view', array('order_id' => $order_id));