อินสแตนซ์ขององค์ประกอบสร้างโดยออบเจกต์แฟคตอรีขององค์ประกอบ
รายการออบเจกต์แฟคตอรีขององค์ประกอบในไฟล์การรีจิสเตอร์องค์ประกอบคือ 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()
: เรียกเมื่อองค์ประกอบถูกย้ายออกจากเพจ มอบโอกาสให้องค์ประกอบสามารถย้ายทรัพยากรใดๆ ที่ไม่จำเป็นแล้วออก