11

我想将用户从我的后端模块重定向到 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 方式重定向到管理模块吗?

4

3 回答 3

16

您是否尝试过adminhtml而不是admin

Mage::app()->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/view", array('order_id'=>'1')));
于 2012-10-15T12:56:35.390 回答
7

我认为您正在寻找的是adminhtml。

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

注意:至少 1.7 中的参数是 order_id,而不是 id。不确定这在旧版本中是否有所不同。

于 2012-10-15T12:58:21.577 回答
3

您遇到此问题的原因是您创建管理模块的方式

看看这个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));

于 2012-10-15T12:57:26.450 回答