1

現在、Magento管理者で注文を編集した後、問題が発生しています。ページは常に別のURLにリダイレクトされ、そのベースは注文が属するストアビューに属します。そして、このページは管理者に再ログインする必要があります。

たとえば、2つのベースURLがあり、それぞれが1つのストアビューに属しています。

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にとどまることになっている場合、処理される順序に基づいて実行するストアビューを決定するようです。

4

3 に答える 3

0

バックエンドのストア間で顧客データを共有できるようにしようとしましたか?初心者の回答で申し訳ありませんが、まだMagentoを学習しています

于 2012-07-30T07:34:17.940 に答える
0

この古いエントリにまだ興味を示しているかもしれない人のために、私は私の解決策を共有します。これは良い方法ではありません。確かに、不確実なURLに戻らないようにハードコードされたリダイレクトですが、問題は解決しました。

リダイレクトが発生するコントローラーアクションで、変更します

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

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

これにより、リダイレクトは常に指定されたストアに送られます。

于 2012-09-10T08:56:54.147 に答える
0

理由は、Magentoがメールテンプレートを正しく翻訳する必要があるため、コンテキストを注文の保存に切り替えるためです。

クラスMage_Core_Model_Templateを見ると、_applyDesignConfigと_cancelDesignConfigの2つのメソッドがあります。最初の関数はコンテキストを切り替えて古いコンテキストを記憶し、2番目の関数はすべてを返す必要があります。しかし、バグがあります。詳細については、http://www.magthemes.com/magento-blog/magento-142-multiwebsite-admin-redirect-problem-quick-workaround/#comment-1084をご覧ください。

于 2014-02-19T07:37:39.267 に答える