Gdy system Sites tworzy nową instancję funkcji Constructor, przekazuje — w celu ułatwienia tworzenia układu zawartości — parametr zawierający obiekty contentItemData, scsData i contentClient.
Przykład funkcji Constructor:
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;
Parametr funkcji Constructor zawiera następujące obiekty:
params.contentItemData: Zawiera element zawartości, w tym jego nazwę, opis, ID i dane. Na przykład dostęp do pola blogpost_title, występującego w elemencie zawartości, można uzyskać używając params.contentItemData.data['blogpost_title'].
params.scsData: Ten obiekt przekazuje informacje, gdy funkcja Constructor jest wywoływana w systemie Sites. Obiekt ten nie istnieje dla układów zawartości renderowanych w aplikacjach podmiotów trzecich. Zawiera obiekt Sites SDK, metodę contentTriggerFunction do uaktywniania wyzwalacza oraz łącza do strony szczegółów.
params.contentClient: Jest to obiekt contentClient tworzony z pakietu Content SDK, używany do wywołania układu zawartości. Z tego powodu jestkonfigurowany z użyciem odpowiednich parametrów serwera zawartości. Jeśli trzeba skierować dodatkowe wywołania do serwera zawartości, można — zamiast tworzyć własny obiekt — użyć tego obiektu contentClient. Obiekt ten zawiera API klienta odnoszące się do zawartości. Za ich pomocą można kierować zapytania, wyszukiwać oraz uzyskiwać elementy zawartości i ich typy zawartości. Dostępne są także inne wspomagające API; na przykład expandMacros() do rozwijania makr używanych w tekście z formatowaniem.