2

私が (ユーザーとして) 1 つの売り手 (Spree アプリの所有者) が販売している製品を追加する典型的な 1 つのストア アプリではなく、複数のベンダーを持つ e コマース サイトを作成したいと考えています。

したがって、すべてのベンダーの概要を確認でき、複数のベンダーから複数の製品を購入できます。

Spreeではそこまでカスタマイズできますか?

もしそうなら、そのためのドキュメントはありますか?

ありがとう。

4

2 に答える 2

1

そのために利用できるいくつかのオプションがあると思います。

本質的に、ユーザーがサインアップして自分の製品をリストし、そのユーザーの製品だけを見て、見ることができるユーザー プロファイル ページを持つことができる e コマース アプリが必要ですよね? これをマルチテナンシーと呼ぶ人もいます。Google 検索を行うと、すぐに次の拡張機能が見つかります。

私はあなたと同じことをしようとしていますが、Spree 2-2 安定版にロールバックする必要があるため、マルチテナントには少し警戒しています (私は現在 2-3 にいます)。

ここでの前の回答は、Vendor という新しいモデルを作成する必要があることを示唆しています。既存のユーザーモデルを更新してベンダーにならないのはなぜですか?

私が提案しているのは、単純に User モデルと Spree::Products モデルの間の関連付けを作成することです。このようにして、製品の範囲を個々のユーザーに限定し、ユーザーごとに新しい外国のモデルや異なる管理者を追加する複雑さなしに、プロファイル ページを作成できます。spree メソッドはすべて User クラスにすでにアタッチされているので、単純な belongs_to/has_many 関連付けが機能すると思います。これはまったくテストしていませんが、それが私の考えです。

于 2014-12-11T19:22:41.117 に答える
1

1 つのアプローチ (私が使用したもの) は、各項目に「ベンダー」プロパティを追加することです。注 - このアプローチは、各アイテムが 1 つのベンダーによってのみ販売されることを前提としています。同じアイテムを販売するためにさまざまなベンダーが競合しているマーケットプレイスを実際に持っている場合は、各製品バリアントに対して定義されている「ベンダー」オプション タイプを追加して、同様のことを行う必要があります。

各ベンダー (新しいモデル) には、アイテムを設定するときに使用できるコードが割り当てられます (プロパティ値または複数のバリアント オプション値として)。注文が行われると、新しい OrderFulfillment モデルを使用して、さまざまなベンダーがその注文を履行するために使用するさまざまな出荷を追跡できます (注文のベンダーごとに 1 つの OrderFulfillment レコード)。

基本的に必要なモデル変更はこれだけです。コントローラー領域では、「ショッピング カート」イベント マシン シーケンスを変更して、さまざまなベンダーの配送方法を処理する必要があります。また、ベンダーが複数ある場合は、ユーザーにベンダーの選択肢を提示する必要もあります (Amazon マーケットプレイスを考えてみてください)。

さまざまなベンダーへの支払いを処理する方法は、私のプロジェクトの一部ではありませんでしたが、必要に応じて追加するほど複雑であってはなりません。

リンクについて:ガイドで一般的に説明されている基本的な Spree の概念に精通している必要があります。より具体的には ここ. また、ここで読むことができるいくつかの内部変更 (新しい関連付け、変更されたコントローラーの動作) を行う必要があります。

于 2012-10-19T14:13:59.607 に答える