Ak vykresľujete zoznam obsahových položiek v rozložení obsahu z vlastného dopytu, môžete vytvoriť prepojenie na stránku detailov obsahovej položky. Pomocou rozhrania API SCSRenderAPI.getPageLinkData
v súprave Sites SDK môžete vygenerovať adresu URL stránky Detaily lokality.
Vlastnosť detailPageId
je ID stránky detailov vybrané v obsahovej položke alebo v zozname obsahu. Ak táto hodnota nebola nastavená, vrátenou hodnotou bude prvá stránka v mape SiteStructureMap
, ktorá má nastavenú vlastnosť isDetailPage
.
Na prístup k tejto vlastnosti môžete použiť súpravu Sites SDK. Tá je k dispozícii len vtedy, keď sa pre lokalitu Oracle Content Management používa rozloženie obsahu. Prístup je možný len cez štruktúru scsData, ktorá bola odovzdaná ako jeden z argumentov pri vytvorení rozloženia obsahu. Príklad:
scsData.SitesSDK.getProperty('detailPageId', function (detailPageId) { console.log(detailPageId);});
Keď získate identifikátor detailPageId
, môžete ho použiť na vytvorenie prepojenia na stránku detailov.
SCSRenderAPI obsahuje funkciu getPageLinkData()
, ktorá pomocou identifikátora pageId
a postupným použitím ďalších volieb vytvorí požadovanú adresu URL na stránku. Nasleduje podpis pre túto funkciu:
SCSRenderAPI.getPageLinkData(pageId, options);
Obsahuje nasledujúce parametre:
pageId: Ide o rovnaký parameter ako detailPageId
vrátený z vlastnosti detailPageId
v súprave Sites SDK.
voľby:
contentType
contentId
contentName
Návratová hodnota je objekt s týmito vlastnosťami:
hideInNavigation
href
href
V nasledujúcom príklade je výsledné spojenie:
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); });
Po vytlačení to bude vyzerať takto: "/sites/{site}/{detailPageName}/{contentType}/{contentId}/{contentSlug}
"
Ak pageId
nie je stránkou detailov, hodnoty obsahu sa do adresy URL nepridajú.
Pozrite si časť Súpravy SDK služby Oracle Content Management.