1

Magento 1.7 を使用しており、ログイン後にすべてのクライアントをホームページにリダイレクトしたいと考えています。

拡張機能を使用して、ログインしていないユーザーに対してサイトを閉じています。デフォルトのログイン ページではなく、Facebook 接続ボタンのある CMS ページを使用しています。

現在、ユーザーが facebook でログインした後、magento は facebook 接続ボタンなしで同じページを読み込んでいます。

このスレッドを見たことがありますが、それを変更する AccountManager が見つかりませんでした。それはどこにある?また、私の場合のリダイレクトは顧客のダッシュボードではなく、私が作成した cms ページに対して行われるため、これが機能するかどうかはわかりません。

ユーザーがログインしているかどうかを確認し、そのユーザーをホームページにリダイレクトする方法 (およびコード内の場所) を教えてください。

前もって感謝します

4

3 に答える 3

5

1つのアプローチは、**customer_login**イベントにフックして、カスタマーセッションでafterAuthUrlを設定することです。

...
public function customerLogin(Varient_Event_Observer $observer) {
    /* @var $session Mage_Customer_Model_Session */
    $session = Mage::getSingleton('customer/session');
    $session->setAfterAuthUrl(Mage::getBaseUrl());
}

AccountController _loginPostRedirectメソッドでMagentoのロジックを表示できます(app/code/core/Mage/Customer/controllers/AccountController.php)。実装に基づいて、リファラーリクエストパラメーターを送信することも可能です(注:base64を介してエンコードする必要があります) Mage::helper('core')->urlEncode())

于 2012-07-31T22:17:29.053 に答える
0

顧客セッションからのメソッドで @beep ロジックで言及されているイベントを使用Mage::getSingleton('customer/session')->setBeforeAuthUrl($url);すると、目的のページへのリダイレクトに役立ちました。お役に立てれば

于 2013-01-14T06:58:36.860 に答える
0

あなたがやろうとしていることをするAITOCによって作られた拡張機能があると思います。作るよりも購入を考えている方は是非。

于 2012-08-01T18:00:08.477 に答える