2012-10-15 6 views
11

Ich möchte Benutzer von meinem Backend-Modul zu Admin/Order_Sale/Ansicht umleiten, aber ich kann nicht. Wenn ich:Magento Redirect zur Bestellansicht

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

Magento von 'admin' von URL schneidet, so dass es wie folgt aussieht:

http://magento1702.local/index.php//sales_order/view/id/1/key/fdb6089cf1e5cd77f85f085def1a013a/ 

und ich bekomme 404-Seite. Irgendeine Idee, wie man auf Magento-Weise zum admin Modul umleitet?

+0

Der erste Parameter zu getUrl ist der Pfad. Der erste Teil des Pfades ist der 'Routenname'. Im Falle eines Backend-Moduls, das unter/admin lebt (oder was auch immer Sie geändert haben), würden Sie den Routennamen "adminhtml" verwenden. –

Antwort

16

Haben Sie adminhtml statt Admin versucht?

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

adminhtml Arbeit wie ein Charme, danke :) – pbogut

3

Der Grund, warum Sie in dieser Ausgabe ausgeführt ist wegen der Art und Weise Sie Ihr Admin-Modul

einen Blick auf diese http://turnkeye.com/blog/magento-admin-form/

einen Blick auf (Note nach = „Mage_Adminhtml“ Take Nehmen Sie erstellen

)
<admin> 
    <routers> 
     <adminhtml> 
      <args> 
       <modules> 
        <turnkeye_adminform after="Mage_Adminhtml">Turnkeye_Adminform_Adminhtml</turnkeye_adminform> 
       </modules> 
      </args> 
     </adminhtml> 
    </routers> 
</admin> 

Sobald Sie Ihren Code aktualisieren, dann können Sie tun

$this->_redirect('*/sales_order/view', array('order_id' => $order_id));

7

Ich denke, was Sie suchen, ist adminhtml.

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

NB: Die param in 1.7 zumindest order_id, anstatt id. Nicht sicher, ob dies in älteren Versionen anders war.

+1

Ja, danke. Und du hast recht bei order_id, ich denke in vorherigen Versionen war das das gleiche :) – pbogut