我已经尝试过在这里和那里找到的这个脚本的每个版本,但它仍然无法正常工作。 我有一个控制器在后端保存订单后执行某些操作。其中一项操作是在某些条件下自动生成发票。通常的重定向会将我发回订单视图:我想转到发票视图。
$url = Mage::helper('adminhtml')->getUrl('sales_order_invoice/view', array('invoice_id' => $invoice->getId(), 'order_id' => $order->getId()));
Mage::app()->getResponse()->setRedirect($url)->sendResponse();
此代码无效:我像往常一样重定向到订单视图。观察者在sales_order_save_after
上触发。
我怎样才能正确重定向?
答案 0 :(得分:0)
你可以在管理员控制器的自定义模块中使用如下所示的工作..
$this->getResponse()->setRedirect(Mage::helper('adminhtml')->getUrl("adminhtml/sales_order/view", array('order_id'=>$order_num)));
return;
希望这对你有用。让我知道我是否可以为你提供更多帮助。
答案 1 :(得分:0)
为什么不使用默认控制器重定向功能?
function someAction()
{
/* do your thing*/
$this->_redirect('*/sales_invoice/view',
array('invoice_id'=> $invoice->getId())
);
}
要记住的一件事是,_redirect(也不是你的方法)将重定向,直到动作功能完成。如果此重定向位于“if语句”内,则需要添加返回值;后来退出任何剩余的功能。