web-dev-qa-db-ja.com

ログインしたユーザーに特定の役割がある場合、ユーザープロファイルのフィールドを非表示にする

ユーザー用に多くのフィールドが追加されています。ログインユーザーが役割Wを持ち、役割Xのユーザーに属するユーザーページを表示している場合、フィールドYを表示します。それ以外の場合、フィールドYは表示されません。

ルールの統合があり、イベント:フィールドがレンダリングされ、アクション:フィールドを非表示にすることを提供する「フィールドフォーマッター条件」という名前のモジュールを使用してみました。ただし、フィールドを非表示にするアクションを選択すると、構成するものは何もなく、保存ボタンが表示されます。

目標を達成する方法を提案してください。解決策がルールに基づいている場合は、こちらをお勧めします。

4
redamakarem

@Pierreの提案に従って、モジュール Field Permissions をダウンロードしてインストールする必要があります。

次に、設定リンクをクリックします: enter image description here

ここで、アクセス許可を適用するYフィールドが見つかります。

enter image description here

次に[ユーザー]リンクをクリックすると、フォームにリダイレクトされます。

enter image description here

ここでは、私と同じようにカスタム権限を追加できます。

1
Anil

Field Permissions モジュールを使用すると、実際のソリューションに近づくと思います。

...サイト管理者は、任意のエンティティのフィールドを編集、表示、作成するためのフィールドレベルの権限を設定できます。

それがすべての要件をカバーするかどうかはわかりませんが、パズルの解決策の一部になる可能性があります。確かにそれを使用して、「ログインしたユーザーが特定の役割を持っている場合はユーザープロファイルのフィールドを非表示にする」(質問のタイトルのように)。

ログインしたユーザーがロールWを持ち、ロールXのユーザーに属するユーザーページを表示している場合、フィールドYを表示します。それ以外の場合、フィールドYは表示されません。

Field Permissions を使用してフィールドYを構成し、このフィールドがshownで、WのロールとhiddenロールWを持たないユーザーには、これはおそらく考慮されません "...のユーザーに属するユーザーページロールX ... "。

0
Pierre.Vriens