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.