コンテンツ・レイアウトを使用して、コンテンツ・アイテムをレンダリングします。これはコンテンツ・アイテム・データを受け取り、HTMLにレンダリングし、ページに挿入します。
デフォルトでは、コンテンツ・レイアウトは、Mustacheテンプレートを活用してコンテンツ・アイテムをレンダリングしますが、これらは任意のJavaScriptテクノロジに実装できます。Mustacheテンプレートをレンダリングする場合、データが特定のフォーマットになることが想定されます。コンテンツ・レイアウトのrender.js
ファイルでは、テンプレートに渡すモデルがそのフォーマットと一致していることを確認する必要があります。
コンテンツ・レイアウトは、複数のユースケースでレンダリングされます:
Oracle Content Managementのアセット管理UIで使用される場合、データは、ユーザーが変更を保存する前にプレビューできるように「編集済」状態である場合があります。
Oracle Content Managementサイトでコンテンツ・リストまたはコンテンツ・アイテム内で使用される場合、データは、実行されているサイトに関する追加情報を使用して補強されます。
コンテンツSDKのcontentClient.renderLayout()
コールを介して使用される場合、コンテンツSDKのユーザーは、必要なデータは何であれコンテンツ・レイアウトに直接渡します。
パフォーマンスについては、必要なデータをすべて返す単一の問合せと複数の問合せの間にトレードオフがあります。これにより、高速な初回問合せを使用して輪郭ができるだけ速くレンダリングされ、後続の問合せを使用して領域はその後に埋められます。どのモデルを選択するかは、データとユースケースによって異なります。
また、コンテンツ・レイアウトに渡されるデータは、データが取得された方法が原因でフォーマットが異なる場合がありますたとえば、コンテンツRESTを拡張パラメータと一緒に使用すると、別のコンテンツ・アイテムへのフィールド参照(個別またはグループとしてのいずれか)が戻されます。参照されたコンテンツ・アイテムが含まれない場合は、追加のRESTコールを行う必要があります。
すべてのケースを処理するには、コンテンツ・レイアウト開発者は、受信したデータのフォーマットに関して柔軟であるよう努める必要があります。また、必要に応じて、開発者は、追加データをフェッチし、レンダリング・テンプレートによって想定されるフォーマットにデータを強制的に変更できます。