ธีมต้องมีไฟล์ components.json
ที่อยู่ที่ /ThemeName/components.json
ซึ่งจะระบุองค์ประกอบที่ใช้ในธีม
ไฟล์นี้ต้องมี JSON ที่ถูกต้อง และไฟล์ต้องมีอาร์เรย์ JSON array []
เป็นอย่างน้อย
รูปแบบคำสั่งของไฟล์ components.json
จะแสดงองค์ประกอบในระบบทั้งหมด และรองรับการจัดชนิดขององค์ประกอบอย่างเต็มที่ (องค์ประกอบระยะไกลได้รับการรีจิสเตอร์ไว้ในแคตตาล็อกขององค์ประกอบ)
ไม่ว่าจะเพิ่มองค์ประกอบใดในไฟล์ components.json
ระดับธีม (รวมถึง "ไม่มี") Oracle Content Management ก็จะป็อปปูเลทชุดดีฟอลต์ขององค์ประกอบที่ใช้ได้สำหรับผู้ใช้ ชุดดีฟอลต์ได้รับการกำหนดในซอร์สโค้ด ลิสต์ต่อไปนี้แสดงองค์ประกอบและองค์ประกอบ (ที่เป็นตัวเลือก) ที่แสดงผลในเฟรมแบบอินไลน์ นอกจากนี้ องค์ประกอบระยะไกลใดๆ ที่รีจิสเตอร์ที่ระดับบริการและพร้อมใช้งานสำหรับผู้ใช้ในอินสแตนซ์ของคุณจะพร้อมใช้งานในตัวสร้างไซต์ด้วย
องค์ประกอบในระบบต่อไปนี้จะรวมอยู่ใน Oracle Content Management
ชื่อ | ประเภท | ID |
---|---|---|
ชื่อ |
scs-title |
scs-title |
ย่อหน้า |
scs-paragragh |
scs-paragragh |
รูปภาพ |
scs-image |
scs-image |
แกลเลอรี่ |
scs-gallery |
scs-gallery |
กริดของแกลเลอรี่ |
scs-gallerygrid |
scs-gallerygrid |
เอกสาร |
scs-document |
scs-document |
ปุ่ม |
scs-button |
scs-button |
แผนที่ |
scs-map |
scs-map |
ตัวคั่น |
scs-divider |
scs-divider |
ตัวควบคุมพื้นที่ว่าง |
scs-spacer |
scs-spacer |
YouTube |
scs-youtube |
scs-youtube |
แถบข้อมูลสังคม |
scs-socialbar |
scs-socialbar |
วิดีโอ |
วิดีโอ scs |
วิดีโอ scs |
บทความ (องค์ประกอบที่กำหนดเอง) |
scs-component |
scs-comp-article |
หัวข้อ (องค์ประกอบที่กำหนดเอง) |
scs-component |
scs-comp-headline |
รูปภาพและข้อความ (องค์ประกอบที่กำหนดเอง) |
scs-component |
scs-comp-image-text |
องค์ประกอบเหล่านี้ซึ่งแสดงผลในเฟรมแบบอินไลน์จะรวมอยู่กับ Oracle Content Management แต่ไม่รวมถึงองค์ประกอบระยะไกลที่รีจิสเตอร์
ชื่อ | ประเภท | ID |
---|---|---|
การสื่อสาร |
scs-app |
การสื่อสาร |
โปรแกรมจัดการเอกสาร |
scs-app |
โปรแกรมจัดการเอกสาร |
ลิสต์โฟลเดอร์ |
scs-app |
ลิสต์โฟลเดอร์ |
ลิสต์ไฟล์ |
scs-app |
ลิสต์ไฟล์ |
ปุ่มถูกใจของ Facebook |
scs-app |
ปุ่มถูกใจของ Facebook |
การแนะนำของ Facebook |
scs-app |
การแนะนำของ Facebook |
การติดตาม Twitter |
scs-app |
การติดตาม Twitter |
การแชร์ของ Twitter |
scs-app |
การแชร์ของ Twitter |
รูปแบบทั่วไป
รูปแบบทั่วไปของไฟล์ components.json
มีดังนี้
คุณสมบัติสำหรับองค์ประกอบจะได้รับการระบุภายในแต่ละองค์ประกอบ คุณสมบัติ "components"
หรือ "apps"
ระดับบนสุดจะถูกเลิกใช้
แต่ละองค์ประกอบจะมีคุณสมบัติ "type"
องค์ประกอบสามารถค่าบางค่าเท่านั้น (ค่าที่ใช้ได้ทั้งหมดจะแสดงอยู่ในตารางสำหรับองค์ประกอบดีฟอลต์)
แต่ละองค์ประกอบจะมีคุณสมบัติ "id"
ซึ่งต้องไม่ซ้ำกัน คุณสมบัตินี้ใช้เพื่อแบ่งแยกระหว่างองค์ประกอบต่างๆ ที่มี "type"
เดียวกัน ก่อนหน้านี้แอปมีคุณสมบัติ "appName"
ขณะที่ "appName"
ยังคงใช้งานได้หากคุณสมบัติ "id"
ไม่พร้อมใช้งาน แต่คุณสมบัติ "appName"
จะถูกเลิกใช้
แต่ละองค์ประกอบจะมีคุณสมบัติ "name"
ที่เป็นชื่อที่ปรากฏในอินเตอร์เฟซผู้ใช้ หากไม่ได้ระบุค่าการเรียกกลับ ค่าจะเป็นชื่อขององค์ประกอบดีฟอลต์ที่เกี่ยวข้องสำหรับองค์ประกอบ และค่าจะเป็น ID สำหรับองค์ประกอบระยะไกล
ตัวอย่างของไฟล์ components.json
มีดังนี้
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline", "name": "My Headline", ... }, { ... },... ] }, { "name": "My own category name", "list": [ ... ] } ]
โครงสร้างทั่วไปคืออาร์เรย์ JSON ของออบเจกต์ชนิด ออบเจกต์ชนิดแต่ละรายการจะมีคุณสมบัติ "name"
และคุณสมบัติ "list"
คุณสมบัติ "name"
สามารถเป็นคีย์ที่แมปกับสตริงที่โลคัลไลซ์ หากชนิดดีฟอลต์เหล่านี้ไม่เพียงพอ คุณสามารถระบุชื่อชนิดของคุณเอง ซึ่งจะไม่ได้รับการโลคัลไลซ์ ตารางต่อไปนี้แสดงชนิดดีฟอลต์ที่มีและคีย์ที่เกี่ยวข้อง
คีย์ | ชื่อชนิด (ภาษาอังกฤษ) |
---|---|
COMP_CONFIG_CONTENT_CATEGORY_NAME |
เนื้อหา |
COMP_CONFIG_CUSTOM_CATEGORY_NAME |
กำหนดเอง |
COMP_CONFIG_MEDIA_CATEGORY_NAME |
สื่อ |
COMP_CONFIG_SOCIAL_CATEGORY_NAME |
โซเชียล |
COMP_CONFIG_TEXT_CATEGORY_NAME |
ข้อความ |
คุณสมบัติ "list"
ในออบเจกต์ชนิดแต่ละรายการจะมีอาร์เรย์ของออบเจกต์องค์ประกอบ องค์ประกอบหรือออบเจกต์แต่ละรายการต้องมีคุณสมบัติ "type"
และ "id"
คุณสมบัติอื่นๆ สามารถเลือกระบุได้
คุณสมบัติ "type"
ต้องเหมือนกับหนึ่งในประเภทที่พบในองค์ประกอบดีฟอลต์ หาก "type"
ไม่มีอยู่ องค์ประกอบจะไม่แสดงขึ้น
คุณสมบัติ "id"
ต้องไม่เหมือนกันในองค์ประกอบต่างๆ หากพบว่ามี "id"
อยู่แล้ว องค์ประกอบจะไม่แสดงขึ้น
คุณสมบัติ "name"
คือชื่อที่ปรากฏสำหรับองค์ประกอบในอินเตอร์เฟซผู้ใช้ ตัวเลือกนี้จะแทนที่คุณสมบัติ "appName"
ก่อนหน้าสำหรับแอปพลิเคชัน (ตอนนี้เป็นองค์ประกอบระยะไกล)
คุณสมบัติอื่นๆ ทั้งหมดจะได้รับการดำเนินการเช่นเดียวกับในรีลีสก่อนหน้า
เพิ่มองค์ประกอบใหม่ไปยัง components.json
คุณไม่ได้รับอนุญาตให้แก้ไของค์ประกอบดีฟอลต์ อย่างไรก็ตาม คุณสามารถสร้างองค์ประกอบใหม่ตามองค์ประกอบดีฟอลต์ที่มีอยู่ ตัวอย่างเช่น คุณสามารถสร้างองค์ประกอบใหม่ตามองค์ประกอบ "scs-title"
ซึ่งจะกำหนดข้อความดีฟอลต์บางอย่าง ข้อกำหนดขั้นต่ำที่จำเป็นสำหรับการเพิ่มองค์ประกอบใหม่คือการระบุคุณสมบัติ "type"
และ "id"
"type"
ต้องเหมือนกับหนึ่งในประเภทที่พบในองค์ประกอบดีฟอลต์ หาก "type"
ไม่มีอยู่ องค์ประกอบจะไม่แสดงขึ้น
"id"
ต้องไม่ซ้ำกันในองค์ประกอบต่างๆ หากพบว่ามี "id"
อยู่แล้ว องค์ประกอบจะไม่แสดงขึ้น
ต่อไปนี้คือตัวอย่างรหัสในการเพิ่มองค์ประกอบของชื่อใหม่ องค์ประกอบนี้จะแสดงพร้อมกับองค์ประกอบของชื่อดีฟอลต์
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline" } ] } ]
ต่อไปนี้คือตัวอย่างรหัสในการเพิ่มองค์ประกอบของชื่อใหม่พร้อมที่ปรากฏและข้อความดีฟอลต์
[ { "name": "COMP_CONFIG_TEXT_CATEGORY_NAME", "list": [ { "type": "scs-title", "id": "my-headline", "name": "My Headline", "initialData": { "userText": "This is a second title component" } } ] } ]
โปรดทราบว่าองค์ประกอบของชื่อจะถือว่าคุณสมบัติทั้งหมดขององค์ประกอบของชื่อดีฟอลต์เป็นรายการหลัก และจะใช้การแก้ไขระดับธีมก่อนเป็นอันดับแรกเพื่อสร้างองค์ประกอบใหม่
ความเข้ากันได้แบบย้อนหลัง
ไฟล์ components.json
ในรูปแบบก่อนหน้าจะยังคงอ่านได้
ไฟล์ที่มีคุณสมบัติ "components"
หรือ "apps"
ระดับบนสุด
หากไฟล์มีคุณสมบัติ "apps"
ระบบจะยังคงโหลดองค์ประกอบระยะไกลที่ผู้ใช้กำหนดที่อยู่ภายใต้คุณสมบัตินี้
หากไฟล์มีคุณสมบัติ "apps"
ระดับบนสุด แสดงว่าองค์ประกอบระยะไกลใดๆ ที่แสดงอยู่ระดับล่างมีประเภท "scs-app"
หากมีคุณสมบัติ "appName"
ให้ตั้งค่า "id"
เป็นค่า "appName"
ชื่อที่ปรากฏจะเหมือนกับ "name"
หากระบุไว้ หรือเป็นค่า "id"