私は学校でDrupal 7サイトを運営しています。私の最終的な目標は、クラブの役員がこのサイトを通じてメンバーに関するあらゆる種類の情報(連絡先など)を管理できるシステムを作成することです情報、私はすでに働いています。おそらく「クラブイベント」のようなコンテンツタイプ(が実際のイベントである必要はありません)日付モジュール)または「クラブ例会」が作成され、クラブ役員が基本的にメンバーのチェックリストを取得し、そのイベントに誰が参加したかを確認できるフィールドがあります。このコンテンツタイプには、特定のポイント値がそのノードに割り当てられ、リストでチェックされている人は誰でも、特定の数のポイントがアカウントに追加されます。
最後に、役員がすべてのメンバーのリストと彼らが獲得したポイント数/彼らが出席したイベントのリストを表示できる、ある種のビューがあるはずです。
これは、Drupalフレームワーク内で行うのに現実的なもののように聞こえますか?その場合、どのモジュールが必要になるかについての提案はありますか? ユーザーポイント モジュールでしょうか?使用できますか?
私はこれまでDrupalのモジュールを書いたことがありませんが、必要に応じて少し手を汚すことに反対していません。
それが私なら、まずメンバーの役割を作成します。私は各メンバーに登録してもらい、役員にmember
の役割を割り当てさせます。
次に views module を使用して、ロールによるフィルターを使用してメンバーのリストを表示します。これにより、メンバーのリストを表示できます。
次に、データベースにattendance
テーブルとmeeting
テーブルを作成します。 (drupal db schema
の作成方法を学びたい場合は、次の手順でこれを行うことができます。おそらくフィールドがあります:
meetingId
meetingDate
meetingDescription
attendance
テーブルは次のようになります。
meetingId
userId
ユーザーが参加するとき、meetingId
テーブルからmeeting
への参照を作成し、drupalユーザーIDを使用してEnterを作成します。知りたい場合特定の会議を選択したユーザーは、attendance
に一致するmeetingId
テーブルからすべてのuserIdを選択します。
次に、forms api
を使用して会議を作成する簡単なモジュールを作成します。次に、member
ロールを持つすべてのユーザーを選択し、再度forms api
を使用してattendance
テーブルのエントリを追加することにより、すべてのユーザーをリストする別のページを作成します。そこにいた一人一人のために。
したがって、リンクが1つとコード化されたページが2つになります。すべての会議を表示する「会議の表示」へのリンクが1つあります。会議をクリックすると、ユーザーを表示するページが表示されます。会議が過去の場合(いくつかの履歴データが存在することを意味します)、その会議には履歴出席データが含まれているはずです。これは、2つの方法のいずれかで処理できます。履歴データを表示して編集を許可しないか、元のフォームを表示して出席者のチェックボックスに入力します。それ以外の場合は、新しい会議であり、フォームを表示するだけです。それが私なら、編集を許可し、同じフォームであるため、データがある場合はチェックボックスが表示されるだけなので、ページを簡素化します。
これはモジュールの書き方を学ぶ絶好の機会です。これは非常に単純ですが、Drupalモジュールの作成の概要を示すのに十分なほど複雑です。また、機能するか機能しないかの明確で定義可能な最終結果があります。
schema モジュールをチェックすると、モジュールを介してデータベーステーブルを作成するのに役立ちます。これは学ぶべきことです。
さらに一歩進めたい場合は、テーブルをビューに公開し、 views モジュールを使用してデータの表示部分を作成できます。ただし、自分でフォームを作成する必要があります。
更新:考えましたが、notes
列を会議に追加して、人々がメモを入力して保存できるようにすることもできます。また、あなたの想像力はここでの限界です。他のあらゆる種類のことを行うことができます。ただし、最初のモジュールを表すのと同じくらい単純にしておくことにします。