質問: ユーザープロファイルのカスタムユーザーフィールドを非表示にする方法 drupal 7では、管理者以外のユーザーがカスタムユーザープロファイルフィールドを変更できないようにする最善の方法は何ですか?使用例:「顧客id」というユーザーフィールドを作成しましたが、ユーザー(実際の顧客)は変更したくありません。このフィールドは、私自身の参照用および他のモジュールでのプログラムによる使用のために存在します。お客様にお客様idが表示されても問題ありませんが、編集できないはずです。ユーザープロファイルページのページテンプレートを上書きする必要がありますか?もしそうなら、テンプレートをどのように変更して、フィールドを読み取り専用または非表示にしますか?手伝ってくれてありがとうございます!クリス
回答: 私は field permissions があなたが探しているものだと思います。これについての引用は次のとおりです(モジュールのプロジェクトページから): ...サイト管理者は、任意のエンティティのフィールドを編集、表示、作成するためのフィールドレベルの権限を設定できます。 特徴: ノードだけでなく、任意のエンティティのフィールド権限を有効にします。 役割ベースのフィールド権限により、ユーザーのアクセス権に基づいて異なる表示をパターン化できます。 作成者レベルの権限により、エンティティの所有者が誰であるかに基づいて、フィールドを表示および編集できます。 各フィールドの権限は、デフォルトでは有効になっていません。代わりに、管理者は、この機能が必要なフィールドに対してこれらの権限を明示的に有効にすることができます。 フィールド権限の概要