2011-02-10 8 views
0

私は、別のシステムからの既存の認証データに基づいてMagentoで顧客をログイン/登録するためのモジュールを作成することが任されています。今私の考えは、管理者がリンクを使って配置できるウィジェットを作成することです。その部分はどうやってやるのか分かりました。

次の部分は私が助けを必要とするところです。モジュールのアクションを起動するためにカスタムURL構造を作成する方法を理解するのに十分な記事を読んだので、自分のアクションに直接リンクしたり、ログインまたは登録リクエストを呼び出したり、紹介ページに戻ったりすることができますまたはそのプロフィールページ、私は完全にこのような詳細は未定ですので、プロジェクトをspec'dしていない)。

ここで私はいくつかの助けが必要です。ログインページと登録ページでPOSTリクエストを取得するメソッドを見つけました.Mage_Customer_AccountControllerクラスを拡張して、loginPostAction()メソッドとcreatePostAction()メソッドで使用されている呼び出しと似ている必要なメソッドを作成するだけですか?

は参考のために、私はちょうど私が参照してるファイルがある 1.5.0.0新たにリリースのインストールを新鮮にいくつかの初期のプロジェクトDEVを開始

/Magentoの/アプリ/コード/コア/メイジ/顧客/コントローラ/ AccountController.php

答えて

1

Magentoのすべてのイベントベースの振る舞いは、上の独自のアクションを呼び出すためのインスタンスの....(詳しくはfound hereすることができます)イベント/ observerメソッド内で処理されなければなりません顧客ログインは、customer_loginまたはcustomer_logoutイベントをサブスクライブします。管理領域の顧客保存イベントを購読しようとすると、adminhtml_customer_save_afterイベントになります。 1.4.2のこれらの完全なリストはfound hereです。

警告のもう一つの言葉は、私が惜しみなくやることです。あなたがやろうとしていることの大部分は、独自のコントローラを作成し、Zend forward()メソッドを使用して、あなたの機能を事前に取得した後に、あなたの望むコントローラメソッド(Mage_Customer_AccountControllerのloginPostAction

+0

私はあなたがここで何を意味するかを完全に理解していません。私は自分のイベントに基づいてユーザーを作成しようとしています。Magentoの従来のユーザーの流れで発生するイベントではありません。また、認証トークンを渡してユーザーを作成するので、電子メールの確認手順を省略する必要があります。だからあなたは、私はユーザーを作成し、そこからプロセスを転送する方法で新しいコントローラを作成する必要があると言っている? – bhamrick

+0

それはもっと理にかなっています。私はちょうどGigyaと呼ばれるサードパーティのソーシャルサインオンサービスでこれを行いました。要点はあなた自身のコントローラーを使用していて、return_urlのようなもののためにあなた自身のオーバーライドをシムできるCustomer_AccountControllerメソッドを拡張しています...セッション情報を維持したいとき**あなた自身のデータを作成する** .phpを開き、ローカルプラグイン内のセッション名前空間を定義します。それ以外の場合、forward()を実行してもセッションは保持されません。運が良かった! – philwinkle

+0

あなたのGigyaプロジェクトは成功しましたか?そのコードは偶然公開されていますか? – bhamrick

関連する問題