フォームフラグメントの使用
Liferay DXP 2023.Q3+/Portal GA92+
Liferayには、コンテンツページにフォームを作成するためのフォームフラグメントが含まれています。 フォームを作成するには、コンテンツページまたはページテンプレートにフォームコンテナを追加し、それを公開済みオブジェクトにマッピングします。 コンテナは、各オブジェクトフィールドにマッピングされたフラグメントを自動的に生成します。 フラグメントの整理、削除、追加は手動で行うことができます。 公開後、エンドユーザーはフォームを使用してオブジェクトエントリを作成できるようになります。
フォームの断片を異なるセクションに追加し、ナビゲーションボタンを使用してユーザーを各ステップに誘導することで、複数のステップを持つフォームを作成することもできます。 フラグメントを使用して複数ステップのフォームを構築するを参照してください。
コンテンツページにフォームを作成するには、
- カスタムオブジェクトを作成します。
- コンテンツページにフォームコンテナフラグメントを追加します。
- フォームコンテナフラグメントをカスタムオブジェクトにマッピングします。
- フォームフラグメントは、マッピングされたフォームコンテナ内にのみ配置してください。
- データ損失を防ぐため、フォーム内のすべてのフォームフラグメントをオブジェクトフィールドにマッピングしてください。
- 必須オブジェクトフィールドすべてについて、フォームコンテナ内にフラグメントを含める。
- 必須項目であるフォームの断片を表示する。
- フォームコンテナ内に、目立つ送信ボタンを含めてください。
デフォルトでは、Liferay には フォーム コンポーネント フラグメント セットが含まれていますが、独自のものを作成することもできます。 詳細については、 フォームフラグメントの作成 を参照してください。
さらに、フォームフラグメントは カスタムオブジェクト でのみ使用できます。 そのため、Liferayは少なくとも1つの公開オブジェクトが作成されるまで、フォームコンポーネントのフラグメントセットを非表示にします。 公開後、オブジェクトへのアクセス権を持つユーザーは、フォームコンポーネントのフラグメントを表示および使用できるようになります。
フォームフラグメントの完全なリストについては、 デフォルトフラグメントリファレンス を参照してください。
フォームコンポーネントでサポートされているフィールドタイプ
各フォームフラグメントは、1つ以上のオブジェクトフィールドタイプをサポートできます。 デフォルトのフォームコンポーネントはこれらのフィールドをサポートしています。
| フォームフラグメント | オブジェクト項目タイプ |
|---|---|
| キャプチャ | 該当なし |
| チェックボックス | ブール値 |
| 日付 | 日付 |
| ファイルアップロード | 添付ファイル |
| 複数選択リスト | 複数選択リスト |
| 数値入力 | 整数、長整数、小数、高精度小数 |
| リッチテキスト | リッチテキスト |
| プルダウン | 関係、選択リスト |
| 送信ボタン | 該当なし |
| テキスト入力 | テキスト、長文 |
| テキストエリア | テキスト、長文 |
オブジェクトに対してカテゴリ分類が有効になっている場合、タグとカテゴリのフォームフラグメントを使用して、オブジェクトエントリにメタデータを追加できます。
フォームフラグメントの交換
Liferay 2026.Q1+
フォームコンテナ内でフォームを作成する場合、新しいフラグメントが元のフラグメントと同じオブジェクトフィールドタイプをサポートしている限り、フィールドマッピングを失うことなくフラグメントを置き換えることができます。
-
フォームコンテナ内のフォームフラグメントを選択します。
-
右側のメニューで、 フラグメントの交換 (
) をクリックします。または、フラグメントの アクション (
) メニューを開き、 フラグメントの交換 を選択します。
-
互換性のあるフラグメントを見つけて選択します。

フラグメント互換性の例:
- 複数選択ドロップダウンと複数選択チェックボックスを、複数選択ピックリストフィールドにマッピングした場合に、入れ替えます。
- テキストフィールドにマッピングされた場合、テキスト入力とテキストエリアを入れ替えます。
- 数値入力フラグメントを数値フィールドにマッピングする際に、それらを入れ替える。
新しいフラグメントがマッピングされたフィールドタイプをサポートしていない場合、Liferay はマッピングをクリアするため、再度設定する必要があります。