Documentation

オブジェクトエントリの表示

7.4以降で利用可能

Liferay Objectでは、既存のDXPフレームワークを使用して、オブジェクトエントリをサイト内に動的に表示できます。 これには、複数のエントリーのコレクション表示や、個々のエントリーの表示ページが含まれます。

Object が発行されると、Liferay は Collection Display フラグメント で使用するための Collection Provider を作成し、複数の Object エントリを表示するようにします。 また、コレクションをスタイル、フィルター、ページ分割するようフラグメントを設定できます。 また、公開されたオブジェクトはInfo Frameworkに統合されているので、 表示ページテンプレートのコンテンツタイプとして選択することができます。 これを選択すると、オブジェクトがテンプレートのマッピングソースとして設定されるため、フラグメントフィールドをオブジェクトフィールドにマッピングしやすくなり、個々のオブジェクトエントリーの柔軟なページ表示を作成することができます。

さらに、FreeMarkerを使用して、 オブジェクトの情報テンプレート を作成できます。 作成したら、フラグメントフィールドをテンプレートにマップして、コンテンツページと表示ページでエントリーがどのようにレンダリングされるかを決定できます。

注釈

情報テンプレートは、コンテンツ表示フラグメントおよびオブジェクトにマップできるsub-elementsを持つその他のフラグメント(テキスト、リッチテキストなど)で使用できます。

これらの統合により、パーソナライズされたユーザーエクスペリエンスを提供しながら、ユーザーはLiferayのWYSIWYGページ構築機能を活用できます。

オブジェクトのコレクションプロバイダーの使用

オブジェクトを公開した後、以下の手順でコレクション表示フラグメントを使用してオブジェクトのエントリーを表示します。

  1. 新しい コンテンツページ または 表示ページテンプレートを作成します。 または、既存のページを 編集編集ボタン)することから開始します。

    注釈

    また、コレクションプロバイダーを使ってコレクションページを作成することもできます。 詳しくは、コレクションとコレクションページについてをご覧ください。

  2. コレクション表示 フラグメントを [Fragments and Widgets](Fragments and Widgets)サイドバーからページまたはテンプレートにドラッグアンドドロップします。

    コレクション表示フラグメントをページまたはテンプレートにドラッグアンドドロップします。

  3. コレクション表示フラグメント] を選択して設定オプションにアクセスし、[General]タブの [Select Collection]をクリックします。

    フラグメントを選択し、[コレクションを選択]をクリックします。

  4. モーダルウィンドウで、 コレクションプロバイダ タブをクリックし、 オブジェクトのプロバイダ を選択します。

    [Collection Providers]タブで、オブジェクトのプロバイダーを選択します。

  5. (オプション) どのオブジェクトエントリーを表示するかフィルタリングします。 オブジェクト内の任意のピックリストまたはブール値フィールドでフィルタリングすることができます。

    これを行うには、 [Collection Options] ボタン(Collection Options Button)をクリックし、 [Filter Collection] を選択します。

    Collection Options ボタンをクリックし、Filter Collection を選択します。

    次に、 目的の フィルター を選択し、 [Apply] をクリックします。

    適用するフィルターを選択します。

目的のプロバイダを選択した後、追加のフラグメントオプションを使用して、オブジェクトエントリーの表示方法を決定します。これには、[List Style] および[Pagination]が含まれます。

フラグメントオプションを使用して、オブジェクトエントリーの表示方法を決定します。

オブジェクトの表示ページテンプレートの作成

作成時、各 Object エントリには、次のパターンを使用する専用のフレンドリー URL が自動的に割り当てられます: server-address/l/objectEntryId (例: https://mysite.com/l/44337)。 エントリーをそのURLで表示するには、まずオブジェクトの表示ページテンプレートを作成する必要があります。

次の手順を実行します:

  1. サイトメニュー(Site Menu) を開き、 デザイン を展開し、 ページテンプレート に進みます。

  2. Display Page Templates] タブをクリックします。

  3. 追加 ボタン(Add Button)をクリックし、 空白 のテンプレートを選択します。

    これにより、モーダルウィンドウが開きます。

  4. 名前 を入力し、コンテンツの種類に目的の オブジェクト を選択します。

    名前を入力し、コンテンツの種類に目的のオブジェクトを選択します

  5. Save] をクリックします。

    これにより、選択したObjectをデフォルトのマッピングソースとする空白のテンプレートが作成され、テンプレートの編集ページにリダイレクトされます。

  6. ページフラグメントとウィジェットを使用して、オブジェクトエントリの柔軟で動的な表示を作成できます。 詳しくは、 表示ページテンプレートの使用 をご覧ください。

    フラグメント要素をオブジェクトフィールドにマップして、個々のエントリーの表示ページに動的に入力します。

  7. 完了したら、 [公開] をクリックします。

  8. テンプレートの アクション ボタン (Actions Button) をクリックし、 デフォルトとしてマーク を選択します。

    このテンプレートは、ユーザーがフレンドリーURLにアクセスするたびに、Objectのエントリーをレンダリングするために使用されるようになりました。

    テンプレートのActionsボタンをクリックし、Mark as Defaultを選択します。

オブジェクトの情報テンプレートの作成

  1. サイトメニューSite Menu)を開き、 [デザイン] → [Templates] → [Information Templates] に移動します。

  2. 追加 ボタン(Add Button)をクリックします。

  3. 名前 を入力し、目的の オブジェクト を選択します。

    名前を入力し、目的のオブジェクトを選択します。

  4. 保存] をクリックします。 これにより、テンプレートデザインページにリダイレクトされます。

  5. (オプション)アプリケーションバーのアクションボタン(Actions Button)をクリックし、 [Import Script] を選択して、インポートする.ftlファイルを選択します。 これにより、現在のテンプレートがファイルのFreeMarkerスクリプトに置き換えられます。

    .ftlファイルからスクリプトをインポートします。

  6. FreeMarker を使用してテンプレートをデザインします。

    Elements] サイドパネル(Elements)で、選択したオブジェクトの構造から使用可能なフィールドにアクセスできます。

    オブジェクトの構造で使用可能なフィールドから選択します。

  7. (オプション)[Properties]サイドパネル(Properties)のテンプレートに説明または画像を追加します。

    [Properties]パネルに説明または画像を追加します。

  8. 完了したら、 [Save] をクリックします。

オブジェクトエントリーをフラグメントフィールドにマッピングするときに、テンプレートから選択できるようになりました。

フラグメント要素をマッピングするときにテンプレートを選択します。

ナビゲーションメニューへのエントリの追加

オブジェクトは情報フレームワークと統合されているため、ナビゲーションメニューにオブジェクトのエントリを追加して、素早くアクセスできるようにすることができます。 すべての公開オブジェクトは、メニュー要素で利用可能なソースとして自動的にリストアップされます。 詳しくは、 ナビゲーションメニューのアプリケーションを使う をご覧ください。

追加情報