22

これは、私が長い間取り組んできたことです。最初は、Web サイト全体を作成するために必要な他のスクリプトやパズルのピースとの統合として、Prestashop から始まりました。現在も Prestashop を Web ストアとして使用していますが、Magento に切り替えました。

Magento に切り替えたのは、Magento が複雑な柔軟性を備えていることと、全体として、これが最適なソリューション、最適なバッキング、および最適な全体的な e コマース スクリプトであると考えているためです。

そうは言っても、私がPrestashopで抱えていたのと同じ問題は、私が完全に調和して物事を統合しようとする側面で引き続き抱えているのと同じように見えます.

ウェブサイトの主要部分として Magento をセットアップし、Magento 内のサブフォルダーに「articles」というフォルダーに Wordpress をインストールしました。また、メッセージ フォーラムとして FluxBB を使用しました。私があまり気にすることができず、「フォーラム」と呼ばれるサブフォルダーにある肥大化した余分な機能の負荷。

この時点から、Magento、Wordpress、および FluxBB にはすべて独自のユーザー管理方法があることがわかります。それらを作成、管理、および追跡します。

私がやりたいことは、これら 3 つ以上をウェブサイトに組み合わせて、顧客のエクスペリエンスを可能な限りスムーズで機能的なものにするための最良の方法を見つけることです. これまで才能があり、助けになった Alan Storm に電子メールを送った後、彼は、彼が知っている最善の解決策は、彼ら全員が指し示し、顧客認証を管理するサードパーティのユーザー管理を作成することであると私に言いました. 私は彼の考えが最善であると信じていますが、私はこれをここ StackOverFlow に掲載したいと思いました。これを Magento にも投稿して、magento 開発者や挑戦が好きな賢い人たちの幅広いスコープを得ることができます.

私にはいくつかの考えがありますが、どれもうまくいかないかもしれません。しかし、最初に、私がこれまでに達成したことをお話しさせてください。ヘッダーとフッターの全体的なデザインを統合するために必要な手順を実行したので、基本的に Wordpress と FluxBB はラップされ、Magento の外側のデザイン レイヤー内に含まれます。そうは言っても、「Hello Guest」または「Hello User」と言って、Magento がセッションをチェックして、ユーザーが Magento にログインしているかどうかを確認する場所も作成しました。これは、私が自分の深みを超えており、純粋な挑戦から一緒に作成するものであろうと、誰かが私が彼らにお金を払えば彼らが私を助けると言っていようと、助けが必要であるため、停止点に達した場所です。達成しました。


脳のおなら #1:

パスワードとユーザー名/電子メールのログイン部分に関して、Wordpress と FluxBB の両方のユーザー テーブルを調整して、Magento の構造により適合させます。残りのフィールドはそれぞれ、投稿数などのためにそのままにしておくことができます。

そこから、顧客が登録から作成されたときに、Magento のどのクラスがデータベースへの実際の入力を行うかを把握したいと思います。そのコードを見つけたら、Wordpress と FluxBB のデータベース内の他の 2 つのテーブルにユーザー資格情報をコピーする機能を拡張したいと考えています。必要に応じて、Wordpress と FluxBB にいくつかのフィールドを追加することもできます。それがより良いアイデアのように思われる場合は、Magento が作成する実際の暗号化されたパスワードを意味します。これも安全にしたい.

そこから、顧客が Magento に登録したことがわかった時点で、データが他の 2 つのテーブルにコピーされます。この進捗が実際に機能するかどうかは、まだ決定されていません。

次に、ユーザーが Magento という 1 つの場所から登録、ログイン、およびログアウトできるようにするため、Wordpress および FluxBB から可能な方法でログイン/ログアウトおよび登録リンクを無効にします。

次に、私の目に楽しい部分が来ます。製品を注文し、ワードプレスの記事を確認し、コメントを残したり、友人に送信したりなど、ウェブサイト全体で気の毒なセッションを続けます....トピック、返信などを投稿しますFluxBB容量。

ここで、フィールドの作成または Magento の顧客登録からのデータの追加が行われます。Magento にすでにログインしているかどうかを確認し、そこから検証できるようにすることができます。これはやり過ぎかもしれませんし、これが必要な方法かもしれません。しかし、クレデンシャルが 3 つのデータベースすべてにある場合、Wordpress と FluxBB のコードを変更するか、コードを追加することで認証できるはずです。はい、お客様が自分の情報を変更したい場合は、プロファイルの編集とパスワードの編集についても何かをしなければならないことを承知しています.

しかし、それが正しい決定であるかどうかにかかわらず、これが私の最初の考えです.Magento、PHP、その他すべてで得られるよりも多くの経験と知識を持っているここの人々の膨大な知識から聞きたい.


脳のおなら #2

この非論理的なアイデアは、Magento の複雑さと全体的なセットアップ方法のために、私には完全に範囲外のように思えます。

しかし、WordpressとFluxBB(およびその他のサードパーティソフトウェア)を削除/編集して、独自の登録、ログイン、ログアウト、編集、およびMagentoの資格情報と新しい顧客の確立の方法をほとんど無視するという考えです. 基本的に、それらを Magento の特大モジュールにしています。

Magento のセットアップ方法はモジュール化する必要があることを知っていますが、その複雑さにより、これを行うにはさらに多くのコーディングとトラブルシューティングが必要になるようです。


脳のおなら #3

Wordpress と FluxBB の両方をダンプし、Magento 接続ストアのモジュールを探します。これには、必要なすべての機能があり、不足しているものを追加でき、サードパーティのソフトウェアを統合しようとして混乱することはありません。

私は Wordpress が大好きです。モジュールを使ってそれを複製するのは難しいと思います。少なくとも CMS やニュースに関連する利用可能なすべてのモジュールを何時間も調べた後では難しいと思います。FluxBB 私はそれを取るか、そのままにしておくことができます。誰かが phpBB や vBulletin、または SimpleMachines を使用するための実行可能なソリューションを既に持っている場合、私はそれらを使用します。私はむしろ、私が安っぽいスケートをしているからではなく、できる限りオープンソースをサポートしているからです。


脳のおなら #4

これは Cookie である可能性がありますが、Cookie を許可する場合にのみ有効です。または、何らかの方法でセッションに追加して、物事を通過させることができますが、Magento は異なるセッションを設定するか、あなたも許可するため、互いにクラッシュするため、これアイデアではないかもしれませんし、アイデアでもあるかもしれません。


私が試したこと、私が見たファイル、またはそれに関連するものの例を挙げていないことを知っています. そして、私はいくつかの楽しい悲惨な結果と一緒に物事をマージしようとしました.

リンクの例: http://www.magentocommerce.com/wiki/doc/webservices-api/api/customer#customer.create http://www.magentogarden.com/blog/how-are-passwords-encrypted-in -magento.html http://www.nicksays.co.uk/magento_events_cheat_sheet/ http://www.magentocommerce.com/wiki/5_-_modules_and_development/customers_and_accounts/registration_fields Magento 外部から Magento 顧客のセッションにアクセスするには?

私は一度にウェブサイトのいくつかの部分に取り組もうとしていますが、これは面倒です. チャレンジ好きな人いますか?:)

- - - - - 編集:

CodeCanyon の Web サイト (Magento と Wordpress のシングル サインオン) にある James Kemp のモジュールと完全に連携するように Magento と Wordpress を用意しました。

情報を渡すだけです...これは編集されたことがわかりますが、何が編集されたのかわかりませんし、気にしません。これを投稿してから見つけた情報を渡すだけです。

4

1 に答える 1

1

私は、マジェント + バニラ フォーラム + Yii フレームワークで作成されたカスタム アプリの組み合わせを管理/カスタマイズしています。ユーザーはアプリ間で「共有」されます。2 つのリンクのいずれも良好ではありません。Alan から既に返信があったように、正しい SSO は外部ユーザー データベース/マネージャーを使用することになります。しかし、Magento で作業するために、1 週間に 1 つの投稿をフォーラムに投稿し、1 か月に 1 つのブログを作成するためだけに 3 つのアプリを再コーディングすることを、すべての人が行っているわけではありません。そのため、選択肢が少なくなります。まず第一に、更新および保守されている、既に作成されたオープンソース プロジェクトのかなりの部分を書き換えたくない場合 (ほとんどの場合そうでない場合)、定期的な更新に対して変更を維持する (必要な場合) 場合は、次のようにする必要があります。ユーザー データを 3 つのデータベースに複製します。適応するプロジェクトに、ユーザーデータをプラグインまたは外部モジュールとして管理する方法がない限り。

それで、それを実装する方法は?マザーオブオールとしてMagentoを選択すると仮定すると、認証用のAPIをエクスポートする必要があります.CookieとJavaScriptを使用してブラウザで動作する可能性がありますが、これはかなりトリッキーです.子アプリからのサーバー API リクエスト。これは、「従来の」SSO に関する限り、推奨されるオプションです。技術的には、ユーザーがフォーラムまたはブログを開いたときにどうなるか、それぞれのアプリが magento の Cookie を検出し、セッションが有効かどうか、およびユーザーが誰であるかを確認します。ユーザーが見つかった場合、そのデータはブログまたはフォーラム テーブルにコピーされます。次に、新しく作成したユーザー レコードを使用して、ブログまたはフォーラム アプリで認証済みセッションを開始する必要があります。

ここまでは順調ですが、まだいくつかの作業があります。子アプリでユーザー プロファイル管理を無効にするか、Magento に保持されているデータが常に正しいものになるように変更する必要があり、Magento のユーザー プロファイルの表現を子に同期させるために何かを発明する必要があります。これは、Magento のイベントに接続することをお勧めします。これにより、ユーザーがプロファイルを変更するたびに、子供用アプリでデータが更新されます。しかし、別のものもあります。おそらく、いくつかのデータアプリ固有のものを保持したいでしょう。フォーラムでの表示名は、Magento の FirstName+LastName である必要はありません。非公開にしたい人もいます。

上記は、それを実行し続けることに関する興味深い事実として思い出すことができるものです。確かに、多かれ少なかれ具体的に、私が省略した他の多くのことがあります。しかし、うまくいけば、私のコメントがあなたの脳のおならを助けることができます。

他のオプションを評価しようとしましたが、重複データのないものは、実装または維持するにはコストが高すぎるようです. 多分後で。予算と時間で。

于 2013-03-25T18:06:50.370 に答える