2012-10-15 61 views
11

我想將用戶從我的後端模塊重定向到admin/order_sale/view,但我不能。當我使用:Magento重定向到訂單視圖

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方式重定向到管理模塊?

+0

getUrl的第一個參數是路徑。路徑的第一部分是'路由名稱'。在後臺模塊生活在/ admin(或者你改變管理員的任何東西)的情況下,你可以使用路由名'adminhtml'。 –

回答

16

您是否試過adminhtml而不是admin

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

adminhtml工作就像一個魅力,謝謝:) – pbogut

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));

7

我認爲你要找的是adminhtml。

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

NB:在1.7帕拉姆至少是ORDER_ID,而不是ID。不確定這在舊版本中是否有所不同。

+1

是的,謝謝。你是對的order_id,我認爲在prev版本是一樣的:) – pbogut