Перенаправление Magento для просмотра заказа
Я хочу перенаправить пользователя из моего серверного модуля в admin/order_sale/view, но я не могу. Когда я использую:
Mage::app()->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl("admin/sales_order/view", array('id'=>'1')));
Magento вырезает "администратор" из URL-адреса, поэтому он выглядит так:
http://magento1702.local/index.php//sales_order/view/id/1/key/fdb6089cf1e5cd77f85f085def1a013a/
И я получаю 404 страницы. Есть идеи, как перенаправить в модуль администратора способом magento?
3 answers
Вы пробовали adminhtml вместо администратор?
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/
Взгляните на (примечание после="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));