คุณควรตรวจสอบการเพิ่มสไตล์ชีต (CSS) และ Javascript (JS) ใน โมดูล Drupal และ ธีม Drupal เอกสาร น่าเสียดาย มีข้อมูลในอันหนึ่งซึ่งไม่ได้อยู่ในอีกอันหนึ่ง แต่ ฉันเชื่อ ข้อมูลทั้งหมดที่เกี่ยวข้องกับการกำหนดไลบรารี เช่น การสร้างไฟล์ libraries.yml ใช้กับทั้งโมดูลและธีม
เมื่อดูที่ mytheme.libraries.yml ฉันเห็น 'ฐาน', 'ส่วนประกอบ', 'เค้าโครง'
'ธีม' และอื่นๆ การกำหนดเหล่านี้เป็นตัวแทน / ทำอะไรใน
ฝึกฝน?
ใช่ พวกเขาทำสิ่งต่างๆ โดยพื้นฐานแล้วพวกเขาจะเปลี่ยนลำดับการโหลดไฟล์ (โหลดน้ำหนักที่ต่ำกว่าก่อน) นอกจากนี้ยังเป็นวิธีที่ดีในการจัดระเบียบ CSS ของคุณ (คีย์เหล่านี้ใช้กับ CSS เท่านั้น ไม่ใช่ JS) ตามแนวคิด เพื่อให้ง่ายต่อการค้นหา แก้ไขจุดบกพร่อง และแก้ไขปัญหาหรือทำการเปลี่ยนแปลงใดๆ
จากเอกสาร:
[ฐาน เลย์เอาต์ คอมโพเนนต์ สถานะ คีย์ธีม] ระบุประเภทสไตล์ของไฟล์ CSS
คุณสามารถตั้งค่าน้ำหนัก CSS ด้วยสไตล์ที่แตกต่างกัน 5 ระดับ:
- ฐาน: CSS รีเซ็ต / ทำให้เป็นมาตรฐานพร้อมสไตล์องค์ประกอบ HTML คีย์กำหนดน้ำหนักของ
CSS_BASE = -200
- เค้าโครง: การจัดเรียงมาโครของหน้าเว็บ รวมถึงระบบกริดใดๆ คีย์กำหนดน้ำหนักของ
CSS_LAYOUT = -100
- ส่วนประกอบ: องค์ประกอบ UI ที่ไม่ต่อเนื่องและใช้ซ้ำได้ คีย์กำหนดน้ำหนักของ
CSS_COMPONENT = 0
- สถานะ: รูปแบบที่จัดการกับการเปลี่ยนแปลงส่วนประกอบฝั่งไคลเอ็นต์ คีย์กำหนดน้ำหนักของ
CSS_STATE = 100
- ธีม: การจัดแต่งภาพอย่างหมดจด (âlook-and-feelâ) สำหรับส่วนประกอบ คีย์กำหนดน้ำหนักของ
CSS_THEME = 200
สิ่งนี้ถูกกำหนดโดย SMACSS มาตรฐาน. ดังนั้นที่นี่ถ้าคุณระบุธีม
หมายความว่าไฟล์ CSS มีสไตล์ที่เกี่ยวข้องกับธีมซึ่งก็คือ
รูปลักษณ์และความรู้สึกที่บริสุทธิ์ ข้อมูลเพิ่มเติมที่นี่. คุณไม่สามารถใช้คีย์อื่นเป็นคีย์เหล่านี้ได้
จะทำให้เกิดคำเตือนอย่างเข้มงวด
คีย์เหล่านี้ไม่มีการโหลดไฟล์แบบมีเงื่อนไขใดๆพวกมันจะถูกโหลดเสมอเมื่อรวมไลบรารี คีย์จะเปลี่ยนลำดับในการโหลดแต่ละไฟล์เท่านั้น (หากคุณใช้การรวมรวม ไฟล์ทั้งหมดจะอยู่ในไฟล์เดียว แต่ลำดับจะถูกรักษาไว้) หากต้องการโหลดไฟล์แบบมีเงื่อนไข คุณจะต้องสร้างไลบรารีแยกต่างหาก (คุณสามารถกำหนดหลายไลบรารีใน libraries.yml เดียวกันได้) ไฟล์) จากนั้นแนบแต่ละไลบรารีเมื่อคุณต้องการเท่านั้น
มีหลายวิธีในการแนบไลบรารีเข้ากับเพจ โปรดดูที่ การแนบไลบรารีกับเพจ ส่วนของเอกสารโมดูลและธีมที่ระบุไว้ด้านบน