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.