Een URL van een pagina met sitedetails genereren met een API

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.