Magento перенаправляет на просмотр заказа

Я хочу перенаправить пользователя из моего 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 страницы. Любая идея, как перенаправить на модуль администратора пурпурно?

Ответ 1

Вы пробовали adminhtml вместо admin?

Mage::app()->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/view", array('order_id'=>'1')));

Ответ 2

Я думаю, что вы ищете adminhtml.

Mage::helper('adminhtml')->getUrl("*/sales_order/view", array('order_id'=>'1'))

NB. Параметр в 1.7 по крайней мере является order_id, а не id. Не уверен, что это было в старых версиях.

Ответ 3

Причина, по которой вы сталкиваетесь с этой проблемой, связана с тем, как вы создаете свой модуль администратора

Взгляните на это 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));