Wanneer met Sites een nieuwe instance van de constructorfunctie wordt gemaakt, wordt een parameter doorgegeven die contentItemData, scsData en contentClient bevat om te helpen met de ontwikkeling van inhoudlay-out.
Hier volgt voorbeeldcode voor de constructorfunctie:
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;
De parameter voor de constructorfunctie omvat de volgende objecten:
params.contentItemData: bevat het inhouditem en de bijbehorende naam, beschrijving, ID en gegevens. Bijvoorbeeld: het veld 'blogpost_title' in het inhouditem is toegankelijk met params.contentItemData.data['blogpost_title'].
params.scsData:: met dit object worden gegevens doorgegeven wanneer de constructor wordt aangeroepen vanuit sites. Dit object bestaat niet voor inhoudlay-outs die worden weergegeven in applicaties van derden. Dit object bevat een Sites SDK object, de methode contentTriggerFunction om een trigger te genereren en de paginakoppelingen Details.
params.contentClient: dit is het object contentClient dat is gemaakt vanuit de Content SDK en wordt gebruikt om de inhoudlay-out aan te roepen. Het is daarom geconfigureerd met de juiste parameters voor de contentserver. Als er aanvullende aanroepen naar de contentserver moeten worden uitgevoerd, kunt u dit object contentClient gebruiken in plaats van uw eigen object te maken. Dit object bevat client-API's voor de inhoud. API's zijn beschikbaar voor het uitvoeren van zoekvragen, voor zoekopdrachten en voor het ophalen van inhouditems en de bijbehorende inhoudtypen. Andere helper-API's zijn ook beschikbaar, bijvoorbeeld expandMacros() om de macro's uit te vouwen die in opgemaakte tekst worden gebruikt.