การใช้งานองค์ประกอบในระบบ

อินสแตนซ์ขององค์ประกอบสร้างโดยออบเจกต์แฟคตอรีขององค์ประกอบ

รายการออบเจกต์แฟคตอรีขององค์ประกอบในไฟล์การรีจิสเตอร์องค์ประกอบคือ initData.componentFactory นี่คือการอ้างอิงกับไฟล์ JavaScript ที่ RequireJS จะใช้เพื่อโหลดแฟคตอรีขององค์ประกอบ ต้องแสดงออบเจกต์ JavaScript ที่ใช้งานอินเตอร์เฟซ componentFactory

ออบเจกต์แฟคตอรีขององค์ประกอบต้องใช้งาน API customComponentFactory.createComponent(args) ซึ่งจะสร้างอินสแตนซ์แต่ละรายการขององค์ประกอบ

args มีการตั้งค่าต่อไปนี้

  • SitesSDK: Sites SDK ของ Oracle Content Management

  • id: ID ที่ไม่ซ้ำกัน (GUID) สำหรับองค์ประกอบที่เพิ่มในเพจ

  • viewMode: โหมดปัจจุบันที่เพจกำลังแสดงผล เมื่อกำลังแก้ไขเพจ โหมดจะเป็น "แก้ไข" เมื่อกำลังแสดงตัวอย่างเพจ โหมดจะเป็น "นาวิเกต" ค่าจะไม่ได้รับการกำหนดขณะรันไทม์ ซึ่งหมายถึงเวลาที่มีการเผยแพร่ไซต์ คุณสามารถระบุการใช้งานอื่นตามฟังก์ชันที่ควรแสดงสำหรับแต่ละโหมด ตัวอย่างเช่น ลิงค์ไม่ควรใช้งานเมื่อเพจกำลังรันในโหมดแก้ไข

หมายเหตุ:

ไม่จำเป็นต้องใช้ JQuery หรือ Knockout สำหรับองค์ประกอบของคุณ แต่หากคุณต้องการใช้ประโยชน์จากคุณสมบัติของ Oracle Content Management เช่น องค์ประกอบที่เรียงซ้อน คุณต้องใช้เวอร์ชัน Knockout ที่ได้มาจาก Oracle Content Management Knockout เวอร์ชันนี้มีการรีจิสเตอร์และแฮนด์เลอร์ขององค์ประกอบที่ขยาย ซึ่งจะไม่มีให้คุณใช้งานในกรณีอื่น

สำหรับองค์ประกอบเอง จะมีการระบุ SDK เมื่อองค์ประกอบได้รับการเริ่มต้นอินสแตนซ์ เพื่อให้องค์ประกอบสามารถสื่อสารกับรอบการใช้งานของเพจได้ ฟังก์ชันรอบการใช้งานของเพจต้องได้รับการใช้งานโดยองค์ประกอบ และถูกเรียกโดย Oracle Content Management เพื่อแสดงผลองค์ประกอบบนเพจ

มีการระบุ API ที่ต้องระบุและที่เลือกระบุได้เพื่อใช้งานองค์ประกอบ

API ที่ต้องระบุ

customComponent.render(container): ขอให้องค์ประกอบแทรกตัวเองเข้าไปในอีลิเมนต์คอนเทนเนอร์ DOM ที่ระบุ

  • container: อีลิเมนต์คอนเทนเนอร์ DOM สำหรับ HTML ขององค์ประกอบที่กำหนดเอง

API ที่เลือกระบุได้

customComponent.dispose(): เรียกเมื่อองค์ประกอบถูกย้ายออกจากเพจ มอบโอกาสให้องค์ประกอบสามารถย้ายทรัพยากรใดๆ ที่ไม่จำเป็นแล้วออก