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





