特にイベント管理機能を備えた Drupal 6 サイトを構築しています。
- 販売イベント参加
- イベント出席の記録: イベントが終了すると、管理者はどのユーザーが実際に参加したかを示す出席を確認できます
サインアップ モジュールや ubercart uc_signup モジュールなど、さまざまな類似の投稿をすでに見て、投稿する前にさまざまな可能性を検討しましたが、私の要件に合うものはないようです。支払いには Ubercart を使用しています。
私の戦略は次のとおりです。
- イベントの日付、説明など、イベントに関するすべての情報を保持するコンテンツ タイプの「イベント」を作成します。これも Ubercart 製品です。これは、CCK と Ubercart を介して簡単に実現できます (Ubercart で製品を直接作成するか、CCK でコンテンツ タイプを作成し、Ubercart で同じマシン名の製品を作成します)。
- イベントノードへの参照を保持するフィールド、イベントをサブスクライブしているユーザーへの参照を保持するフィールド、「支払い状況」(支払い済みかどうか) のフィールド、「出席状況」のフィールドを持つ「イベント参加」コンテンツタイプを作成します。 (出席するかしないか) これは CCK で簡単に実行できます。
- ユーザーがイベントに参加したい場合、「イベント参加」タイプのノードを作成します。
- フィールド参照イベントには、イベントが自動的に入力される必要があります
- ユーザーを参照するフィールドには、現在のユーザーが自動的に入力されます
- ノードの作成は、この特定のイベントおよびユーザーに対してこのタイプのノードが存在しない場合にのみ可能です。この種類のノードがこのイベントとユーザーに対して既に存在する場合は、削除する必要があります
- 新しく作成されたノードには、支払いフィールドが「未払い」に設定され、出席フィールドが「無出席」に設定されています (新しいノードのデフォルト)。
- 「イベントへの参加が作成された」と、参加費を支払うためのリンクがユーザーに表示されます。これは、参照されたイベントを Ubercart カートに追加し、ユーザーをチェックアウト ページ にリダイレクトすることで完了します。この点は、hook_form_alter() と Ubercart API で実現できると思います。出来ますか?
- ユーザーが支払いを完了すると、購入した商品を参照する「イベント参加ノード」の「支払いステータス」フィールドを設定するアクションがトリガーされ、購入ユーザーは「支払い済み」に設定されます。 これは、Ubercart の条件付きアクションで実現できると思います。出来ますか?
- この時点で、イベントに参加しているすべてのユーザーを表示するビューを作成し、「支払いフィールド」が「支払い済み」に等しい「イベント参加」を表示する可能性があります イベント「参加ノード」はまだそこにあるため、イベントが発生した後、管理者はユーザーの出席を設定し、それらをビュー (おそらく同じビュー) に表示できます。これはビューで簡単に実行できます。
あなたはどう思いますか、それは実現可能ですか?上記のステップのいくつかについて詳しく説明したいと思いますが、今のところは全体的な戦略について話し合うことに興味があります。ご清聴ありがとうございました。