หากคุณแสดงผลลิสต์ของรายการเนื้อหาในเลย์เอาต์เนื้อหาจากการสืบค้นของคุณเอง คุณสามารถสร้างลิงค์ไปยังเพจรายละเอียดสำหรับรายการเนื้อหาได้ คุณสามารถใช้ 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