コレクションを使用したオブジェクトエントリの表示
Liferay 7.4 U77+/GA77+
オブジェクト定義を公開すると、Liferay はそれに対応する コレクションプロバイダ を作成します。 サイトスコープのオブジェクトでは、オブジェクトの手動または動的コレクションを作成することもできます。 これらのコレクションは、 コレクション表示フラグメント および コレクションページ と組み合わせて使用することで、オブジェクトエントリを表示できます。 オブジェクトは、フィルタリング、スタイル設定、表示オプションなど、コレクションのすべての表示機能をサポートしています。
- インスタンススコープのオブジェクトは、手動コレクションまたは動的コレクションでは使用できません。 Liferay DXPでは、検索ブループリントとそのコレクションプロバイダを使用して、ほとんどのユースケースを実現できます。 詳細については、 検索ブループリントを含むコレクション を参照してください。
- 下書きはコレクションに表示できません。 オブジェクトのエントリは、まず公開する必要があります。
オブジェクトコレクションの使用
-
新しいコンテンツページまたは表示ページテンプレートを作成する。 または、既存のものを編集し始めます(
)。注コレクションプロバイダーを使用してコレクションページを作成することもできます。 詳細については、 コレクションおよびコレクションページ を参照してください。
-
フラグメントとウィジェット (
サイドバーから コレクション表示 フラグメントをページまたはテンプレートにドラッグアンドドロップします。 -
[コレクション表示フラグメント] を選択して設定オプションにアクセスし、[General]タブの [Select Collection ]をクリックします。
![フラグメントを選択し、[コレクションを選択]をクリックします。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/displaying-object-entries/displaying-object-entries-with-collection-providers/images/01.png)
-
モーダルウィンドウで、コレクションを選択するか、 コレクションプロバイダー タブをクリックして、オブジェクトのプロバイダーを選択します。
注Liferay DXP 2024.Q4+/Portal GA129+ 登録済みのシステムオブジェクト (アカウント、コマース注文アイテム、コマース注文、組織、ユーザーなど) のエントリには、それぞれのコレクションプロバイダーを使用してアクセスできます。
-
(オプション)表示されるオブジェクトエントリをフィルタリングします。 オブジェクト内の任意の選択リストフィールドまたはブール値フィールドでフィルタリングできます。
コレクションオプション (
)をクリックし、 フィルターコレクションを選択します。![[Collection Options]ボタンをクリックして、[Filter Collection]を選択します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/displaying-object-entries/displaying-object-entries-with-collection-providers/images/03.png)
次に、目的のフィルター を選択し、 適用 をクリックします。

目的のコレクションを選択した後、 リストスタイル や ページネーション など、追加のフラグメントオプションを使用してオブジェクトエントリの表示方法を決定します。
コレクション表示フラグメントのオブジェクトを選択すると、そのオブジェクトがマッピングソースとして設定されます。 コレクション表示にフラグメントを追加すると、その 要素 をオブジェクトフィールドにマッピングして、個々のオブジェクトエントリの柔軟なページ表示を作成できます。 これはコレクションページにも当てはまります。
例えば、コレクション表示フラグメントに見出しを埋め込み、コレクション内の各項目の名前を表示するように設定できます。 一対多のリレーションシップにおいて子側のオブジェクトを操作する場合、フラグメントを関連する親オブジェクトのフィールドにマッピングすることもできます。

各リレーションシップテーブル用に生成されるリレーションシップコレクションプロバイダを使用すると、リレーションシップテーブルから関連オブジェクトのエントリを表示できます。
関係性に基づく債権回収業者
ネストされたコレクション表示フラグメントを使用して、コレクション・プロバイダを持つリレーションシップ・テーブルから関連オブジェクト・エントリを表示できます。 最上位のコレクション表示では親オブジェクトのコレクションプロバイダが使用されますが、ネストされたコレクション表示では、各親オブジェクトを子オブジェクトに関連付けるための特別なリレーションシップコレクションプロバイダが使用されます。
関係コレクション プロバイダーは 関連アイテム コレクション プロバイダー と呼ばれ、一対多の関係の親オブジェクトと、多対多の関係の両方のオブジェクトで使用できます。 このコレクションプロバイダは、リレーションシップテーブルを持つオブジェクトのネストされたコレクション表示フラグメントにのみ表示されます。

例えば、国と都市が1対多の関係にある場合、ネストされたコレクション表示の都市名フィールドにフラグメントをマッピングすることで、国とその子都市を表示できます。
ネストされたコレクション表示フラグメントを設定するための一般的な手順は次のとおりです。
- 最上位のコレクション表示を、親オブジェクトのコレクションプロバイダを使用するように構成します。
- ネストされたコレクションの表示を構成して、リレーションシップテーブルデータ用に生成された関連アイテムコレクションプロバイダを使用するようにします。
- どちらのコレクション表示フラグメントでも、グリッド表示スタイルを選択し、それぞれのオブジェクトフィールドにマッピングされたフラグメントを追加します。
コレクション表示でフラグメントを関連オブジェクトのフィールドにマッピングするには、
-
オブジェクトのコレクションプロバイダをコレクション表示フラグメントで使用します。
-
最初のコレクション表示の中に、別のコレクション表示フラグメントをコレクションアイテムとして埋め込みます。
ヒントページ編集メニューの ブラウザ タブを使用すると、ページ階層内でフラグメントをより正確に配置できます。

-
新しいコレクション表示フラグメントの設定オプションで、 をクリックしてコレクション を選択します。
-
関連アイテムコレクションプロバイダー タブをクリックします。
-
オブジェクトの関係名と同じ名前のコレクションプロバイダーを選択してください。 関連付けられたオブジェクトの種類は、リレーションシップ名の下に表示されます。 この例では、関係は
国の都市 と呼ばれます。
これで、新しいコレクション表示にフラグメントを埋め込み、関連オブジェクトのフィールドにマッピングできるようになりました。
