検索ブループリントのコレクション
7.4 U88+ ベータ版特集
検索ブループリントを作成すると、 コレクション・プロバイダ が自動的に登録されます。 ブループリントのクエリとコンフィギュレーションに一致するアセットがコレクションに追加されます。
Liferay の アセットフレームワーク に登録されたコンテンツだけが、ブループリント収集プロバイダから返されます。
検索ブループリントのコレクション・プロバイダを使用するには、
-
LPS-129412 の ベータ機能フラグ を有効にしてください。
ブループリントのコレクションプロバイダは、Liferayの起動時またはブループリントの公開時にのみ登録されます。 機能フラグを有効にしたときに既存のブループリントがある場合は、各ブループリントを編集して保存し、コレクション プロバイダを登録する必要があります。
-
コンテンツページのエディタで、Collection Displayフラグメントを追加します。
コレクションページを追加するときに、コレクションプロバイダを使用することもできます。
-
コレクション プロバイダ フィールドで、ブループリントのコレクション プロバイダを選択します。
他のコレクションと同様に、 コレクションフィルター を使用して、キーワードまたはカテゴリでブループリント駆動コレクションをフィルタリングできます。
例将来のイベントの表示
カレンダーイベントを作成し、将来発生するイベントのみを返すようにブループリントを設定します。 コレクション表示フラグメントを使用して、コンテンツページにイベントを表示します:
-
LPS-129412 の ベータ機能フラグ を有効にしてください。
-
ページを作成し、カレンダーウィジェットを追加します。
-
3つのカレンダーイベントを作成する:
- 過去のイベント:今後5分以内に発生し、15分(またはそれ以下)続くように設定する。
- 未来のイベント1:未来に始まるイベントを作る。
- 未来の出来事2:未来に起こる別の出来事を作る。
-
アプリケーション・メニュー()から、 Blueprints を開きます。
-
要素タブで、このJSONを使って新しいカスタム要素を追加する:
{ "description_i18n": { "en_US": "Limit results to only future events, using the endTime field." }, "elementDefinition": { "category": "filter", "configuration": { "queryConfiguration": { "queryEntries": [ { "clauses": [ { "context": "query", "occur": "filter", "query": { "range": { "endTime": { "gt": "${time.current_date|date_format=timestamp}" } } } } ] } ] } }, "icon": "filter", "uiConfiguration": {} }, "title_i18n": { "en_US": "Limit Results to Future Events." }, "type": 0 }
-
ブループリント] タブで、未来のカレンダー イベントのみに一致するブループリントを作成します:
- タイトル今後のカレンダーイベント提供者_を入力してください。
- クエリ設定:検索可能なタイプで カレンダーイベント を選択します。
- Query Elements: Limit Results to Future Events 要素を追加しました。
-
設計図を保存する。
-
サイトメニュー()から、Upcoming Eventsというコンテンツページを追加する。
-
コレクション表示フラグメントをページに追加し、 Future Calendar Events Provider コレクション・プロバイダを選択します。
箇条書きリストを表示するようにコレクション表示フラグメントを設定する。
-
ページを公開すると、未来のカレンダーイベントが表示されます。
ブループリントを活用して結果を動的に返し、フラグメント・ツールボックスのメリットを享受してページをレイアウトする。