2012-06-04 61 views
1

目前我在Magento管理員中編輯訂單後遇到問題。該頁面總是被重定向到另一個URL,該URL的基礎屬於訂單所屬的商店視圖。此頁面需要重新登錄管理員。Magento在訂單編輯後重定向到其他URL

例如,我有兩個基本URL,每個屬於一個商店視圖:

www.example.old.com //old store view (default) 
www.example.new.com //new store view 

系統使用www.example.old.com作爲默認基本URL。因此,在www.example.old.com下,我爲新商店創建訂單並開具發票。然後在提交發票,頁面從

http://www.example.old.com/index.php/admin/sales_order_invoice/new/order_id/1234/ 

重定向到

http://www.example.new.com/admin/sales_order/view/order_id/1234/ 

而且它需要另一次登錄。

我追蹤的重定向代碼Mage_Core_Model_Url

public function getRouteUrl($routePath=null, $routeParams=null) 
    ... 
    $url = $this->getBaseUrl().$this->getRoutePath($routeParams); 

public function getBaseUrl($params = array()) 
    .... 
    if (isset($params['_store'])) { 
     $this->setStore($params['_store']); 
    } 
    .... 
    return $this->getStore()->getBaseUrl($this->getType(), $this->getSecure()); 

那我就不知道該怎麼辦。沒有參數_store,但似乎Magento根據所處理的訂單來確定要運行哪個存儲視圖,何時它應該保留在整個管理員的相同基本URL中。

+0

Magento是什麼版本? – Nick

+0

企業版1.9.0.0 – vicch

回答

1

對於那些誰可能仍然表現出興趣來此舊條目,我分享我的解決方案。它不是一個好的,它確實是一個硬編碼的重定向,以避免回到一個不確定的URL,但它爲我解決了這個問題。

在重定向發生控制器動作,修改

$this->_redirect(..., array(... => ...)); 

$this->_redirect(..., array(... => ..., '_store' => Mage::app()->getStore($storeId))); 

這確保了重定向總是轉到指定的商店。

0

你試過,使存儲之間的客戶數據共享的後臺? 對不起,新手的答案,仍然在學習Magento的

+0

謝謝,Zippp。實際上它是從一開始就打開的。與Magento玩得開心。 – vicch