Als u vanuit uw eigen zoekopdracht een lijst met inhouditems in een inhoudlay-out weergeeft, kunt u voor een bepaald inhouditem een koppeling naar een detailpagina maken. Met de API SCSRenderAPI.getPageLinkData
van Sites SDK kunt u een URL naar de pagina Sitedetails maken.
De eigenschap detailPageId
is de ID van de geselecteerde detailpagina in het inhouditem of de inhoudlijst. Als hiervoor geen waarde is ingesteld, wordt de eerste pagina in de SiteStructureMap
geretourneerd waarvan de eigenschap isDetailPage
wel is ingesteld.
U hebt toegang tot deze eigenschap met behulp van de Sites SDK. Deze is alleen beschikbaar als de inhoudlay-out wordt gebruikt voor een Oracle Content Management site. De eigenschap is alleen toegankelijk via het object 'scsData', dat als een van de argumenten wordt doorgegeven wanneer de inhoudlay-out wordt gemaakt. Bijvoorbeeld:
scsData.SitesSDK.getProperty('detailPageId', function (detailPageId) { console.log(detailPageId);});
Als de eigenschap detailPageId
beschikbaar is, kunt u deze gebruiken om de koppeling naar de detailpagina te maken.
De SCSRenderAPI bevat een functie getPageLinkData()
. Met deze functie worden pageId
en aanvullende opties als invoer gebruikt en wordt de vereiste pagina-URL gemaakt waarbij deze opties worden doorgegeven. De handtekening voor deze functie is als volgt:
SCSRenderAPI.getPageLinkData(pageId, options);
De handtekening bevat de volgende parameters:
pageId: deze wordt net als de detailPageId
geretourneerd door de eigenschap detailPageId
van de Sites SDK.
opties:
contentType
contentId
contentId
De geretourneerde waarde is een object met de volgende eigenschappen:
hideInNavigation
href
href
Al deze gegevens zijn opgenomen in het voorbeeld hieronder:
scsData.SitesSDK.getProperty('detailPageId', function (detailPageId) { var pageDetails = SCSRenderAPI.getPageLinkData(pageId, { 'contentType': contentType, 'contentId': contentId, 'contentName': contentItemData.slug || contentItemData.name }); // get the URL to the page console.log(pageDetails.href); });
Dit wordt afgedrukt als: "/sites/{site}/{detailPageName}/{contentType}/{contentId}/{contentSlug}
".
Als de pageId
geen detailpagina is, worden de inhoudwaarden niet toegevoegd aan de URL.
Zie de Oracle Content Management SDK's voor meer informatie.