このガイドでは、Discourse でコンテンツを構造化するためのフォームテンプレートの使用方法を説明します。
必要なユーザーレベル: 管理者
フォームテンプレートを使用すると、ユーザーがトピックを作成する際に入力できる検証ルールを備えた構造化フォームを作成できます。これにより、バグ報告や機能リクエストなど、サポートに必要なすべての情報がユーザーから提供されることを保証できます。
注: 構造化されたフォームというよりもガイドラインとして機能するテンプレートについては、トピックテンプレートの使用を検討してください。
フォームテンプレートの有効化
今後の変更 で、フォームテンプレートを有効にするを「すべて」に設定することで、フォームテンプレートを有効にできます。
フォームテンプレートの作成
フォームテンプレートは、管理 > 外観 > フォームテンプレート (/admin/customize/form-templates) に移動して作成および管理できます。
フォームテンプレートを作成するには:
- 新規テンプレートをクリックします。
-
テンプレート名フィールドを、テンプレートの内部名に更新します。
-
ページ上部のボタンを使用して、フォームのさまざまなフィールドを追加し、フィールド属性を更新します(詳細は後述)。オプションの多くは標準的なフォームフィールドタイプ(例:チェックボックス、短い回答、ドロップダウンなど)ですが、いくつか固有のフィールドがあります。
-
タググループセレクター: ユーザーは特定のグループから 1 つ以上のタグを選択できます。
-
Markdown回答: ユーザーはコンポーザーのミニバージョンに直接コンテンツを入力できます。これは、メンバーがコードなどの Markdown を直接入力する必要がある場合や、リッチエディタでサポートされているその他の書式設定が必要な場合に最適です。
-
-
入力に希望する検証を追加します。キーの検証ボタンをクリックします(以下にも表示されています)。
-
プレビューボタンをクリックして、すべてが正しく表示されていることを確認します。
-
保存をクリックします。
フィールド属性
すべてのフィールドタイプの共通属性:
label: 表示されるフィールド名placeholder: 空のフィールド(入力、テキストエリア、ドロップダウン、複数選択)に表示されるヘルパーテキストdescription: フィールドの下に追加のコンテキストまたは指示を表示
アップロード固有の属性:
file_types: 許可されるファイル拡張子のコンマ区切りリスト(例:.jpg、.png、.pdf)allow_multiple: ユーザーが複数のファイルをアップロードできるかどうかを示すブール値
ドロップダウンおよび複数選択属性:
none_label: オプションが選択されていないときに表示されるテキストchoices: 利用可能なオプションの配列
タググループセレクター属性:
tag_group: (トップレベルのフィールドプロパティ)選択肢を移入するタググループの名前none_label: オプションが選択されていないときに表示されるテキストmultiple: ユーザーが複数のタグを選択できるかどうかを示すブール値(デフォルトのひな形ではtrueに設定されます)
検証オプション
| キー | タイプ | 説明 |
|---|---|---|
required |
boolean | フォームを送信するにはフィールドの入力を必須とします。 |
minimum |
integer | テキストフィールドの場合、許可される最小文字数を指定します。 |
maximum |
integer | テキストフィールドの場合、許可される最大文字数を指定します。 |
pattern |
regex; string | テキストフィールドの場合、許可される入力を指定する正規表現。 |
type |
string | 入力フィールドの場合、予期される入力タイプ(text、email、date、number、url、tel、color、password)を指定できます |
フォームテンプレートをカテゴリに追加する
テンプレートを作成した後:
- テンプレートを使用したいカテゴリに移動します。
- カテゴリを編集するために
ボタンをクリックします。
- 詳細設定ボタンを切り替えます(新しい簡略化されたカテゴリ設定を使用している場合)。
- テンプレートタブに移動します。
- フォームテンプレートのトグルをオンにします。
- ドロップダウンメニューでフォームテンプレートを選択します。
- カテゴリを保存をクリックします。
複数のテンプレートがカテゴリに割り当てられている場合、ユーザーはトピック作成時にテンプレートピッカーが表示されます。
メンバーのエクスペリエンス
フォームテンプレートを使用したトピックの作成
メンバーがフォームテンプレートのあるカテゴリでトピックを作成すると、コンポーザーにフォームが自動的に表示されます。同じカテゴリに複数のテンプレートが適用されている場合、メンバーはドロップダウンから適切なテンプレートを選択できます。ユーザーが各フィールドを正確に入力せずにトピックを作成しようとすると、検証エラーが表示されます。
フォーム値の事前入力
URL パラメータを使用して、フィールド ID に一致するものでフォームフィールドを事前に入力できます。例: /new-topic?software-version=2.4.1&severity=Critical
これは、特定のフィールドが既に入力された状態でトピック作成にリンクする場合に便利です。





