사이트에서 생성자 함수의 새 인스턴스를 생성할 때 콘텐츠 레이아웃 개발을 돕기 위해 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: 이 객체는 생성자가 사이트 내에서 호출될 때 정보를 전달합니다. 이 객체는 타사 애플리케이션에서 렌더링된 콘텐츠 레이아웃에는 존재하지 않습니다. 이 객체에는 Sites SDK 객체, 트리거를 발생시키는 contentTriggerFunction 메소드 및 세부정보 페이지 링크가 포함됩니다.
params.contentClient: Content SDK에서 생성된 contentClient 객체로, 콘텐츠 레이아웃을 호출하는 데 사용됩니다. 따라서 콘텐츠 서버에 적합한 매개변수로 구성됩니다. 콘텐츠 서버에 추가 호출을 실행해야 하는 경우 직접 생성하는 대신 이 contentClient 객체를 사용할 수 있습니다. 이 객체에는 콘텐츠의 클라이언트 API가 포함됩니다. API에서 콘텐츠 항목과 해당 콘텐츠 유형을 질의, 검색하고 가져올 수 있습니다. 다른 헬퍼 API도 사용할 수 있습니다. 예를 들어, expandMacros()는 서식 있는 텍스트에 사용된 매크로를 확장합니다.