หากคุณแสดงผลลิสต์ของรายการเนื้อหาในเลย์เอาต์เนื้อหาจากการสืบค้นของคุณเอง คุณสามารถสร้างลิงค์ไปยังเพจรายละเอียดสำหรับรายการเนื้อหาได้ คุณสามารถใช้ API SCSRenderAPI.getPageLinkData -ของ Sites SDK เพื่อสร้าง URL เพจ รายละเอียดของไซต์
คุณสมบัติ detailPageId คือ ID ของเพจรายละเอียดที่เลือกไว้ในรายการเนื้อหาหรือลิสต์เนื้อหา หากไม่ได้ตั้งค่า ค่าที่แสดงจะเป็นเพจแรกใน SiteStructureMap ที่มีชุดคุณสมบัติ isDetailPage
ในการเข้าใช้คุณสมบัตินี้ คุณสามารถใช้ Sites SDK ซึ่งใช้ได้เฉพาะเมื่อมีการใช้เลย์เอาต์เนื้อหาสำหรับไซต์ Oracle Content Management โดยสามารถเข้าใช้ผ่าน scsData เท่านั้น ซึ่งจะได้รับการระบุเป็นหนึ่งในอาร์กิวเมนต์เมื่อมีการสร้างเลย์เอาต์เนื้อหา ตัวอย่างเช่น:
scsData.SitesSDK.getProperty('detailPageId', function (detailPageId) { console.log(detailPageId);});
เมื่อคุณมี detailPageId แล้ว คุณสามารถใช้เพื่อสร้างลิงค์ไปยังเพจรายละเอียดได้
SCSRenderAPI มีฟังก์ชัน getPageLinkData() ที่ใช้ใน pageId และตัวเลือกเพิ่มเติม และจะสร้าง URL ที่จำเป็นไปยังเพจที่ส่งผ่านตัวเลือก ลายเซ็นสำหรับฟังก์ชันนี้มีดังนี้
SCSRenderAPI.getPageLinkData(pageId,
options);
โดยมีพารามิเตอร์ดังต่อไปนี้
pageId: เหมือนกับ detailPageId ที่แสดงจากคุณสมบัติ detailPageId ของ Sites SDK
ตัวเลือก:
contentType
contentId
contentName
ค่าที่แสดงคือออบเจกต์ที่มีคุณสมบัติเหล่านี้
hideInNavigation
href
href
ตัวอย่างต่อไปรวมทั้งหมดเข้าด้วยกันดังนี้
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);
});
ซึ่งจะพิมพ์เป็น: "/sites/{site}/{detailPageName}/{contentType}/{contentId}/{contentSlug}"
หาก pageId ไม่ใช่เพจรายละเอียด ค่าเนื้อหาจะไม่ถูกเพิ่มใน URL