サイトでコンストラクタ関数の新しいインスタンスが作成される場合、コンテンツ・レイアウトの開発を支援するために、contentItemData
、scsData
およびcontentClient
が含まれるパラメータが渡されます。
コンストラクタ関数のコード例を次に示します:
function ContentLayout(params) { this.contentItemData = params.contentItemData || {}; this.scsData = params.scsData; this.contentClient = params.contentClient; } ContentLayout.prototype = { render: function (parentObj) { var content = { blogTitle: this.contentItemData.data['starter-blog-post_title'], }; if (this.scsData) { content = $.extend(content, { 'scsData': this.scsData }); } } }; return ContentLayout;
コンストラクタ関数パラメータには、次のオブジェクトが含まれます:
params.contentItemData: 名前、説明、IDおよびデータを含むコンテンツ・アイテムが含まれます。たとえば、コンテンツ・アイテム内のフィールドblogpost_title
には、params.contentItemData.data['blogpost_title']
を使用してアクセスできます。
params.scsData:: このオブジェクトは、サイト内からコンストラクタがコールされるときに情報を渡します。このオブジェクトは、サードパーティ・アプリケーションでレンダリングされたコンテンツ・レイアウトには存在しません。このオブジェクトには、サイトSDKオブジェクト、トリガーを呼び出すためのメソッドcontentTriggerFunction
、および「詳細」ページ・リンクが含まれます。
params.contentClient: これは、コンテンツSDKから作成され、コンテンツ・レイアウトを呼び出すために使用されるcontentClient
オブジェクトです。したがって、これは、コンテンツ・サーバーに適したパラメータを使用して構成されます。コンテンツ・サーバーに対して追加のコールを実行する必要がある場合、独自のオブジェクトを作成するかわりに、このcontentClient
オブジェクトを使用できます。このオブジェクトには、コンテンツ用のクライアントAPIが含まれます。APIを使用すると、コンテンツ・アイテムとそのコンテンツ・タイプを問合せ、検索および取得できます。他のヘルパーAPIも用意されています。たとえば、expandMacros()
を使用すると、リッチ・テキストで使用されるマクロを拡張できます。