Ha saját lekérdezésből származó tartalomelrendezésben lévő tartalomelemek listáját jeleníti meg, létrehozhat egy tartalomelem részletező oldalára mutató hivatkozást. A Sites SDK készlet SCSRenderAPI.getPageLinkData
API felületét használhatja a Webhely részletei oldal URL-címének előállításához.
A detailPageId
tulajdonság a tartalomelemben vagy a tartalomlistán kijelölt részletező oldal azonosítója. Ha az érték nem lett beállítva, a visszaadott érték az olyan SiteStructureMap
első oldala, amelynél az isDetailPage
tulajdonság be van állítva.
A tulajdonság eléréséhez a Sites SDK készletet használhatja. Ez csak akkor áll rendelkezésre, ha a tartalomelrendezést az Oracle Content Management webhelyénél használják. Ez csak az scsData segítségével érhető el, amely egyik argumentumként van átadva a tartalomelrendezés létrehozásakor. Például:
scsData.SitesSDK.getProperty('detailPageId', function (detailPageId) { console.log(detailPageId);});
Amikor rendelkezésre áll a detailPageId
, ezt a részletező oldalra mutató hivatkozás kialakításához használhatja.
Az SCSRenderAPI rendelkezik a getPageLinkData()
függvénnyel, amely a pageId
és további beállítások alapján felépíti a beállításoknak megfelelő oldalra mutató URL-címet. A függvény szintaxisa a következő:
SCSRenderAPI.getPageLinkData(pageId, options);
A következő paraméterekkel rendelkezik:
pageId: megegyezik a Sites SDK detailPageId
tulajdonsága által visszaadott detailPageId
értékkel.
options:
contentType
contentId
contentName
A visszatérési érték egy objektum a következő tulajdonságokkal:
hideInNavigation
href
href
A következő példában mindez együtt látható:
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); });
Ennek eredménye a következő lehet: „/sites/{site}/{detailPageName}/{contentType}/{contentId}/{contentSlug}
”
Ha a pageId
nem részletező oldal, akkor a tartalomértékek nem fognak szerepelni az URL-címben.