ユーザーロールにフィールドを追加する


7

私はDrupal 7を使用して、組織をボランティアにリンクするプロジェクトを作成しています。私の最初のアプローチは、プロファイルモジュールを使用して、役割(ボランティアと組織)ごとに異なるプロファイルを作成することです。選択したロールにのみアタッチされる新しいフィールドを作成することは可能ですか?

回答:


3

これは、プロファイル2モジュールの優れた使用例です。

プロジェクトページにリストされているように:

Profile2では、複数のプロファイルタイプを作成できます。これは、権限を介してロールに割り当てることができます(例:一般プロファイル+顧客プロファイル)


残念ながら、これは私が求めているユースケースではありません。役割ごとにユーザーにプロファイルを追加したくないので、役割を拡張してフィールドを増やしたいと考えています。たとえば、プロファイルタイプ:ボランティア、プロファイルタイプ:組織、それぞれに固有のフィールドがあります。Profile2はこれをかなり扱いにくいようです...
starsinmypockets '20年

@starsinmypockets Drupal 7では、フィールドがノード、コメント、分類用語、およびユーザーに追加されます。エンティティとは見なされないフィールドをロールに追加する方法はありません。あなたが得ることができるより近いものは、@ tim.plunkettによって報告されたものです。これは、特定の役割を持つユーザーごとに異なるプロファイルタイプを持つことです。
kiamlaluno

2
役割として使用する全く新しいエンティティをコーディングすることは多くの作業のように思えるが、OOの観点から、私は基本的に、ユーザエンティティを拡張しようとしている;)
starsinmypockets



-1

1つのエンティティですべてのフィールドを収集するのは良い考えのように思えます。次に、列挙子フィールドを作成し、エンティティサブタイプ(組織またはボランティア)を選択できます。これは、作成者が両方を作成する権限を持っている場合に必要です。ユーザーロールフィールドを使用して、作成者が表示できないフィールドを非表示にすることができます。フィールド権限を使用して、作成者と閲覧者がアクセスを許可されていないアクセスを制限できます。条件付きフィールドを使用して、他のフィールドの値に依存するフィールドを非表示または表示することもできます。この場合、依存先​​フィールドは列挙子フィールドになります。計算フィールドを使用して、サブタイプに応じてロジックを追加することができます。

列挙子に分類法を使用するのが好きですが、代わりにテキストリストにすることもできます。

また、サブタイプ固有のフィールドをdrupal.org/project/field_groupにグループ化することもできます。

このパターンは、コンテンツタイプにも適用できます。やってみようと思います。

Microsoft Sharepointでは、ContentTypesは何年もの間継承されてきました。それは将来のDrupalバージョンで来るのだろうか。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.