Using Display Page Templates
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

複数の表示ページテンプレートを使用してマルチステップアプリケーションを作成する

Liferay DXP 2023.Q4+/ポータル GA102+

表示ページ テンプレートは、専用の URL でコンテンツを表示します。 この URL を使用してコンテンツを表示するには、まずコンテンツを表示するためのテンプレートを定義する必要があります。

通常、特定のコンテンツ タイプに対してデフォルトの表示ページ テンプレートが設定されます。 ただし、複数の表示ページ テンプレートを同じコンテンツ タイプに関連付け、それらのオプションのいずれかをリンクにマップすることはできます。 つまり、ユーザーは複数のステップでアプリケーション (例: カスタム オブジェクトからマップされたフォーム) を作成できます。 複数の表示テンプレートを使用すると、各ステップが異なる表示ページ テンプレートにリンクされるため、複数のステップを持つフォームを作成できます。

表示ページ テンプレート、オブジェクト、およびフォーム コンテナー フラグメントを使用すると、ユーザーがオブジェクト エントリを追加し、別のページで編集できるページを作成できます。 そのためには、 カスタム オブジェクト、オブジェクト エントリを編集するための 表示ページ テンプレート 、ユーザーが新しいオブジェクト エントリを入力し、既存のオブジェクト エントリのリストを表示できる コンテンツ ページ を作成する必要があります。

ヒント

Liferay DXP 2025.Q4/Portal 2026.Q1 以降では、 ベータ機能フラグ LPD-17564 を有効にして、カスタムオブジェクトまたは変更可能なシステムオブジェクトをフォームコンテナで使用できるかどうかを制御します。 オブジェクト定義では、スイッチャー フォーム コンテナーでのマッピングを有効にするを使用します。

タスクカスタムオブジェクト

  1. カスタムオブジェクト を作成し、それにラベルを付けます タスク

  2. タスク オブジェクトをクリックします。

  3. フィールドタブで、 説明というラベルの付いたテキストタイプのフィールドを追加します。

  4. 「アクション」タブで、 アクション を追加し、それに「 編集」というラベルを付けます。

  5. アクション ビルダーで、トリガーとして スタンドアロン を選択します。

    このオプションを使用すると、 アクションをボタンにマッピングできます。

  6. アクションとして「 オブジェクトエントリの更新 」を選択します。

    このオプションは、トリガーがアクティブになるたびに、選択した値を使用してオブジェクト エントリを更新します。

  7. 値で 追加 をクリックし、 説明 フィールドを選択します。 「新しい値」の下に、 説明 (フィールドの名前) を入力します。 これにより、オブジェクト エントリの説明フィールドの値が新しい値に置き換えられます。

    オブジェクトの説明値を更新するための編集アクションを作成します

  8. エラー メッセージ を追加し、 保存をクリックします。

  9. 詳細タブで、オブジェクトの スコープ を選択し、右上隅の 公開 をクリックします。

オブジェクトが公開され、コンテンツ ページまたは表示ページ テンプレートのフォーム コンテナー フラグメントを使用してフォームを生成するために使用できるようになりました。

タスクオブジェクトの作成

アプリケーションを表示するコンテンツページ

  1. コンテンツ ページを作成します。 空白のテンプレートを使用し、ページに タスクのリストという名前を付けます。

  2. ページに グリッド フラグメントを追加します。 それをクリックして、右側のパネルで モジュールの数2 つ に設定します。

  3. フラグメントとウィジェット サイドバーで、フォーム コンテナー フラグメントを探します。 それを左側のグリッド モジュールにドラッグ アンド ドロップし、 Noneをクリックして、Task オブジェクトにマップします。

    左側のグリッド モジュールでは、ユーザーはオブジェクトに新しいエントリを追加できます。

  4. フォーム コンテナー フラグメントをクリックし、成功インタラクションを ページに留まるに設定します。

    ユーザーがオブジェクトにエントリを追加すると、ページは更新されますが、それ以外は何も起こりません。

  5. 右のグリッド モジュールに 見出し フラグメントを追加します。 編集するには、ダブルクリックします。 見出しとして「 タスクリスト 」と入力します。

  6. 見出しの下の右側のグリッド モジュールに コレクション表示 フラグメントを追加します。 フラグメントをクリックします。 [全般]タブで、 コレクションをクリックします。

    右側のグリッド モジュールでは、ユーザーはタスクのリストを見ることができます。

  7. [コレクション プロバイダー] タブで、 [タスク]を選択します。

    コレクション プロバイダーは、設計したとおりにタスク内のエントリを表示します。

  8. コレクションプロバイダーに グリッド を追加し、右側のパネルで モジュールの数2 に設定します。

    グリッドは赤でマークされています。

  9. コレクション表示の左側のグリッド モジュールに 見出し フラグメントを追加し、それを 2 回クリックします。 マッピングタブで、フィールドとして説明を選択します。

    このアクションは、説明フィールドに追加されたテキストを見出しコンテンツとしてマッピングします。

  10. コレクション表示の右側のグリッド モジュールに ボタン フラグメントを追加し、テキストを 2 回クリックして編集します。 テキストを 編集に変更します。

  11. ページを公開する

ページを表示し、オブジェクト エントリを追加し、更新されたタスクのリストを確認することはできますが、まだ不完全です。 編集表示ページ テンプレート を作成し、ユーザーを編集表示ページ テンプレートに誘導するために、編集ボタンをページにマップする必要があります。

アプリケーションを表示するためのコンテンツページを作成する

表示ページテンプレートを編集

  1. 表示ページ テンプレートを作成し、 編集という名前を付け、コンテンツ タイプとして タスク を選択します。

    表示ページ テンプレートが Task オブジェクトに関連付けられました。

  2. フラグメントとウィジェット サイドバーで、フォーム コンテナー フラグメントを探します。 それをページにドラッグ アンド ドロップし、 Noneをクリックして、Task オブジェクトにマップします。

    選択したオブジェクト定義のフィールドを使用してフォームが自動的に生成されます。

    警告

    マスター ページ テンプレートのフォーム フィールドは表示ページに入力されません。 表示ページのマスター ページ内のオブジェクトにリンクされたフォーム コンテナーを追加すると、オブジェクトに関連するフォーム フィールドを視覚化することはできません。

  3. フォーム コンテナーを選択します。 成功インタラクションを ページに移動に設定し、タスクのリスト ページを選択します。

    フォームが送信されると、「タスクのリスト」ページが表示されます。

  4. [送信] ボタンを 2 回クリックします。 フィールドの下で、 編集 アクションを選択します。

    ユーザーが送信ボタンをクリックすると、「タスクのリスト」ページが表示され、以前の説明の値が新しく追加された値に置き換えられる編集アクションもアクティブ化されます。

ヒント

表示ページ テンプレートでフォーム コンテナー フラグメントが有効になります。 フォーム コンテナー フラグメントを編集し、入力フラグメントのサブセットのみを使用することもできます。 その後、オブジェクト エントリが更新されると、使用可能なフィールドのみが更新されます。

必要に応じてフラグメントを編集し、フォーム コンテナー フラグメントをコンテンツ ページと表示ページの両方で使用されるコンポジションとして保存します。

編集表示ページテンプレートの作成

表示ページテンプレートに関するSEOの考慮事項

表示ページがデフォルトとしてマークされている場合、

  • Sitemap.xml 構成が有効になっており、顧客は要件に応じてカスタマイズできます (互換性に影響する変更はありません)。

  • デフォルトの表示ページが特定の表示ページとしてマップされている場合、属性 <link>要素が rel="canonical" とともに <head> セクションに追加され、アセットの URL が正規ページとして示されます。

表示ページがデフォルトとしてマークされていない場合、これらの変更は自動的に行われます。

  • 表示ページは Sitemap.xmlにインデックスされていません。

  • ロボットの構成が無効になっています。

  • "noindex、nofollow" がロボット設定で設定されています。

  • 別のページに表示ページ テンプレートへのリンクがある場合は、テンプレートの <a> タグに属性 rel="nofollow" を追加します。

  • 同じオブジェクトに対してデフォルトとしてマークされた表示ページが存在する場合、属性 <link> 要素が rel="canonical" とともに <head> セクションに追加され、デフォルトの表示ページ テンプレートを正規ページとして指定します。

表示ページ テンプレートの SEO 構成ページ。

結果として得られるアプリケーション

作成されたアプリケーションを使用する前に、

  1. タスクリストのコンテンツページで、 編集 ボタンを 2 回クリックします。

  2. [リンク] タブで、[リンク] の下にある マップされた URL を選択し、表示ページ テンプレートの 編集 を選択します。

    ユーザーが [編集] ボタンをクリックすると、編集表示ページ テンプレートに移動し、そこでエントリを編集してフォームを再送信し、[タスクの一覧] コンテンツ ページに戻ることができます。

  3. タスクのリスト ページを公開します。

これで、「タスクのリスト」ページにアクセスしてアプリケーションをテストできます。 ページの左側にタスクの説明を追加します。 ページが更新され、コレクション表示の右側に新しいタスクの説明が表示されます。

[編集] ボタンをクリックすると、エントリを編集できる編集表示ページに移動します。 「送信」をクリックすると、「タスクのリスト」ページに戻ります。

ヒント

最初のステップとして表示ページ テンプレートを作成し、フォーム コンテナーの成功インタラクションを「エントリ表示ページに移動」に構成して、次の表示ページ テンプレートを指すようにすることができます。 これにより、連鎖した複数ステップのフォームが作成されます。

結果として得られたアプリケーションをテストします。