オブジェクトエントリの表示
7.4以降で利用可能
Liferay Objectでは、既存のDXPフレームワークを使用して、オブジェクトエントリをサイト内に動的に表示できます。 これには、複数のエントリーのコレクション表示や、個々のエントリーの表示ページが含まれます。
Object が発行されると、Liferay は Collection Display フラグメント で使用するための Collection Provider を作成し、複数の Object エントリを表示するようにします。 また、コレクションをスタイル、フィルター、ページ分割するようフラグメントを設定できます。 また、公開されたオブジェクトはInfo Frameworkに統合されているので、 表示ページテンプレートのコンテンツタイプとして選択することができます。 これを選択すると、オブジェクトがテンプレートのマッピングソースとして設定されるため、フラグメントフィールドをオブジェクトフィールドにマッピングしやすくなり、個々のオブジェクトエントリーの柔軟なページ表示を作成することができます。
さらに、FreeMarkerを使用して、 オブジェクトの情報テンプレート を作成できます。 作成したら、フラグメントフィールドをテンプレートにマップして、コンテンツページと表示ページでエントリーがどのようにレンダリングされるかを決定できます。
情報テンプレートは、コンテンツ表示フラグメントおよびオブジェクトにマップできるsub-elementsを持つその他のフラグメント(テキスト、リッチテキストなど)で使用できます。
これらの統合により、パーソナライズされたユーザーエクスペリエンスを提供しながら、ユーザーはLiferayのWYSIWYGページ構築機能を活用できます。
オブジェクトのコレクションプロバイダーの使用
オブジェクトを公開した後、以下の手順でコレクション表示フラグメントを使用してオブジェクトのエントリーを表示します。
新しい コンテンツページ または 表示ページテンプレートを作成します。 または、既存のページを 編集(
)することから開始します。
noteまた、コレクションプロバイダーを使ってコレクションページを作成することもできます。 詳しくは、コレクションとコレクションページについてをご覧ください。
コレクション表示 フラグメントを [Fragments and Widgets](
)サイドバーからページまたはテンプレートにドラッグアンドドロップします。
[コレクション表示フラグメント] を選択して設定オプションにアクセスし、[General]タブの [Select Collection]をクリックします。
モーダルウィンドウで、 コレクションプロバイダ タブをクリックし、 オブジェクトのプロバイダ を選択します。
(オプション) どのオブジェクトエントリーを表示するかフィルタリングします。 オブジェクト内の任意のピックリストまたはブール値フィールドでフィルタリングすることができます。
これを行うには、 [Collection Options] ボタン(
)をクリックし、 [Filter Collection] を選択します。
次に、 目的の フィルター を選択し、 [Apply] をクリックします。
目的のプロバイダを選択した後、追加のフラグメントオプションを使用して、オブジェクトエントリーの表示方法を決定します。これには、[List Style] および[Pagination]が含まれます。
オブジェクトの表示ページテンプレートの作成
作成時、各 Object エントリには、次のパターンを使用する専用のフレンドリー URL が自動的に割り当てられます: server-address/l/objectEntryId
(例: https://mysite.com/l/44337
)。 エントリーをそのURLで表示するには、まずオブジェクトの表示ページテンプレートを作成する必要があります。
次の手順を実行します:
サイトメニュー(
) を開き、 デザイン を展開し、 ページテンプレート に進みます。
[Display Page Templates] タブをクリックします。
追加 ボタン(
)をクリックし、 空白 のテンプレートを選択します。
これにより、モーダルウィンドウが開きます。
名前 を入力し、コンテンツの種類に目的の オブジェクト を選択します。
[Save] をクリックします。
これにより、選択したObjectをデフォルトのマッピングソースとする空白のテンプレートが作成され、テンプレートの編集ページにリダイレクトされます。
ページフラグメントとウィジェットを使用して、オブジェクトエントリの柔軟で動的な表示を作成できます。 詳しくは、 表示ページテンプレートの使用 をご覧ください。
ページコメント」ウィジェットを追加し、エンドユーザーがエントリー表示ページにコメントできるようにしました。
noteオブジェクト定義のコメントを有効にする必要があります。 そうでない場合は、ウィジェットは表示ページで非表示になります。
完了したら、 [公開] をクリックします。
テンプレートの アクション ボタン (
) をクリックし、 デフォルトとしてマーク を選択します。
このテンプレートは、ユーザーがフレンドリーURLにアクセスするたびに、Objectのエントリーをレンダリングするために使用されるようになりました。
コメントの有効化
[グローバルメニュー](
)を開き、 [コントロールパネル] タブに移動して、 [オブジェクト] をクリックします。
オブジェクトの定義を編集する。
詳細]タブでコメントを有効にし、[保存] をクリックします。
オブジェクトの情報テンプレートの作成
サイトメニュー(
)を開き、 [デザイン] → [Templates] → [Information Templates] に移動します。
クリック 追加(
)
名前 を入力し、目的の オブジェクト を選択します。
[Save] をクリックします。 これにより、テンプレートデザインページにリダイレクトされます。
(オプション) アプリケーションバーのアクション (
) をクリックし、 スクリプトのインポート を選択し、インポートする
.ftl
ファイルを選択します。 これにより、現在のテンプレートがファイルのFreeMarkerスクリプトに置き換えられます。FreeMarker を使用してテンプレートをデザインします。
[Elements] サイドパネル(
)で、選択したオブジェクトの構造から使用可能なフィールドにアクセスできます。
(オプション)[Properties]サイドパネル(
)のテンプレートに説明または画像を追加します。
完了したら、 [Save] をクリックします。
オブジェクトエントリーをフラグメントフィールドにマッピングするときに、テンプレートから選択できるようになりました。
ナビゲーションメニューへのエントリの追加
オブジェクトは情報フレームワークと統合されているため、ナビゲーションメニューにオブジェクトのエントリを追加して、素早くアクセスできるようにすることができます。 公開されたすべてのオブジェクトは、メニュー要素で使用可能なソースとして自動的に表示されます。 詳しくは、 ナビゲーションメニューのアプリケーションを使う をご覧ください。