เมื่อไซต์สร้างอินสแตนซ์ใหม่ของฟังก์ชันตัวสร้าง ไซต์จะส่งพารามิเตอร์ที่มี 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 สำหรับเรียกทริกเกอร์ และลิงค์ของเพจ Details
params.contentClient: นี่คือออบเจกต์ contentClient ที่สร้างจาก SDK เนื้อหาและใช้เพื่อเรียกเลย์เอาต์ของเนื้อหา ดังนั้นจึงมีการคอนฟิเกอร์ด้วยพารามิเตอร์ที่เหมาะสมสำหรับเซิร์ฟเวอร์เนื้อหา ถ้าคุณต้องการให้มีการเรียกไปยังเซิร์ฟเวอร์เนื้อหาเพิ่มเติม คุณสามารถใช้ออบเจกต์ contentClient นี้ โดยไม่ต้องสร้างขึ้นเอง ออบเจกต์นี้ประกอบด้วย API ไคลเอนต์สำหรับเนื้อหา มี API ที่คุณสามารถใช้ในการสืบค้น ค้นหา และเรียกรายการเนื้อหา ตลอดจนประเภทเนื้อหา นอกจากนี้ยังมี API ช่วยเหลืออื่นๆ เช่น expandMacros() สำหรับขยายมาโครที่ใช้ในข้อความที่มีรูปแบบ