Score:4

กำลังโหลดไฟล์ css แต่ละไฟล์สำหรับโมดูลที่กำหนดเอง

ธง in

ฉันมีโมดูลแบบกำหนดเองที่สร้างสามหน้าแต่ละหน้ามีตัวควบคุม ไฟล์ twig และไฟล์ css สิ่งที่ฉันต้องการทำคือโหลดไฟล์ css เมื่อจำเป็นเท่านั้น ฉันสร้างไฟล์ library.yml ดังนี้:

โมดูลของฉัน:
  รุ่น: 1.x
  css:
    ธีม:
      css/page1.css: {}
      css/page2.css: {}
      css/page3.css: {}

สิ่งนี้จะโหลดไฟล์ css สามไฟล์ทุกครั้งที่ฉันแสดงไฟล์ใดไฟล์หนึ่งในสามไฟล์ สิ่งที่ฉันต้องการทำคือการโหลด page1.css เมื่อมีการร้องขอ page1 เท่านั้น มีวิธีแบ่งไฟล์ libraries.yml ออกเป็นส่วนๆ โดยแต่ละไฟล์ระบุไฟล์ css หนึ่งไฟล์ จากนั้นโหลดลงในเทมเพลตด้วย ไฟล์แนบ_library() โทรหรือการประมวลผลล่วงหน้า??

หรือฉันต้องสร้างโมดูลแยกต่างหากสำหรับแต่ละหน้า เหตุผลที่ฉันรวมสามหน้าไว้ในโมดูลเดียวคือเป็นส่วนหนึ่งของไซต์ที่ใช้เนื้อหาอื่นร่วมกัน

cn flag
นอกเหนือจากนี้ - เป็นความคิดที่ดีที่จะใช้ "เวอร์ชัน" เฉพาะในกรณีที่คุณต้องการเพิ่มทุกครั้งที่มีการเปลี่ยนแปลงในไลบรารีของคุณ หมายเลขเวอร์ชันนั้นสร้างสตริงป้องกันแคชสำหรับเนื้อหา js/css เฉพาะเหล่านั้น และอาจทำให้เกิดปัญหาหากคุณใช้พร็อกซีย้อนกลับ เช่น การเคลือบเงา ฉันต้องการให้คุณลบ "เวอร์ชัน" ออก ระบบจะใช้สตริงตัวป้องกันแคชส่วนกลาง ซึ่งจะเปลี่ยนไปตามการล้างแคช และหลีกเลี่ยงปัญหา
Score:7
ธง de

คุณสามารถสร้างรายการไลบรารีได้หลายรายการใน *.libraries.yml

หน้าที่ 1:
  css:
    ธีม:
      css/page1.css: {}

หน้าที่ 2:
  css:
    ธีม:
      css/page2.css: {}

หน้าที่ 3:
  css:
    ธีม:
      css/page3.css: {}

จากนั้นคุณสามารถแนบไลบรารีที่เกี่ยวข้องกับโหนดที่ควรแนบไปโดยใช้ my_module.page.3 (สำหรับหน้าสาม).คุณจะแนบไปกับอาร์เรย์เรนเดอร์ที่ส่งคืนจากคอนโทรลเลอร์ของคุณในหน้าที่กำหนดดังนี้:

คลาส ExampleController ขยาย ControllerBase {
  ฟังก์ชัน firstPageCallback () {
    // สร้างอาร์เรย์ $page ของคุณ (ไม่แสดง)
    // จากนั้นแนบ:
    $page['#attached']['libraries'][] = 'my_module.page.1';
  }
}

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา