สร้าง URL เพจรายละเอียดของไซต์ด้วย API

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

โปรดดู Oracle Content Management SDK