隠しユーザーフィールド

:information_source: 概要 指定されたグループにのみ表示されるカスタムユーザーフィールドを作成します
:hammer_and_wrench: リポジトリ discourse-hidden-user-fields
:question: インストールガイド テーマまたはテーマコンポーネントのインストール方法
:open_book: Discourseテーマ初心者の方へ Discourseテーマの使用に関する初心者ガイド

このテーマコンポーネントをインストール

詳細説明

:warning: これらのフィールドに機密データを入力する場合は注意してください。フィールドはソースコードには含まれていませんが、何らかの問題が発生した場合は表示される可能性があります :warning:

derek_test(左)とanon9(右)の2人のユーザーがいます。IDとCompanyフィールドは両方のプロファイルに入力されていますが、片方しか互いに見ることができません。derek_testはIDを見ることができ、anon9はCompanyを見ることができます。

ユーザープロフィール

ユーザーカード

検索

この場合、anon9(右)は会社を見ることができ、Acmeを検索できます。


設定

CleanShot 2025-11-13 at 16.17.43

  • フィールド名: カスタムユーザーフィールドの名前を入力します(オブジェクトごとに1つ)
  • 許可されるグループ: リストから許可されるグループを選択します

前提条件

これはカスタムユーザーフィールドを活用しています。これらの設定は、フィールドが表示される場所を決定します。

:white_check_mark: フィールドが入力されたらこれらの設定を再確認するか、事前に権限を作成して、これらのフィールドが決して公開されないようにしてください。

「いいね!」 6

ログインしていないユーザーには何が表示されますか?つまり、そのフィールドが管理者のみに表示される場合、ログアウト後もユーザーはそれを見ることができないと予想されますが、正しいですか?


グループ設定にテキストフィールドを選択した理由は何ですか?グループリストではなく?グループを入力する方が、名前を入力する代わりに選択できるため、少し便利です。ただし、IDで機能するため、コードを少し変更する必要があります。それでも、グループの名前を変更しても機能します。

「いいね!」 1

良い指摘です。この点に対応するため、更新しました。ログアウトしたユーザーにはフィールドが表示されないことを確認しました。

正直に言うと、これはClaude Codeで行いましたが、グループリストタイプはオブジェクトエディタでは利用できず、トップレベルの設定としてのみ利用できるとのことでした。

利用可能なフィールドの数が固定されている場合、次のようになります

CleanShot 2025-11-13 at 13.12.21

それは興味深いですね。ドキュメントに基づくと、私もそのようなものがサポートされていると期待していました。

「いいね!」 2

ご指摘ありがとうございます。そのドキュメントに基づいてグループ設定を変更することができました。

上記の内容をその変更を反映するように更新します。

「いいね!」 2

「ええと…オブジェクトエディタの設定で list_type:group を受け入れましたが、エラーを回避できませんでした。

CleanShot 2025-11-13 at 13.52.29

いくつかの異なる変換を試しましたが、うまくいきませんでした。「オブジェクトスキーマの groups タイプは文書化されていますが、UIはフロントエンドで実装されていません。」という結論に至りました。」

「いいね!」 2

私もそのエラーを見ましたが、リセットボタンを使ってオブジェクト設定全体をリセットしたところ、エラーは再発しませんでした:woman_shrugging:

これで全て問題ありません。
Screenshot_20251113_195748_Firefox

既存の設定のセッティングタイプを変更したのが良くなかったのかもしれません。

「いいね!」 2

これは非常に役立つと思います!

「いいね!」 1