ฉันมีปัญหากับธีมแบบกำหนดเองที่ฉันสร้างขึ้นบนไซต์ทดสอบ Drupal 9
- รุ่น Drupal: 9.3.13
- เว็บเซิร์ฟเวอร์ Apache 2.4.41 (XAMP win64)
- PHP เวอร์ชัน 8.0.11
- ฐานข้อมูลเวอร์ชัน 10.4.8-MariaDB
ธีมที่กำหนดเอง professional.info.yml:
ชื่อ: มืออาชีพ
ประเภท: ธีม
คำอธิบาย: ธีมระดับมืออาชีพเวอร์ชัน Drupal 9
core_version_requirement: ^8 || ^9
ธีมพื้นฐาน: เท็จ
รุ่น: 1.0.0
ห้องสมุด:
- มืออาชีพ / สไตล์ระดับโลก
- สคริปต์ระดับมืออาชีพ / ระดับโลก
ภูมิภาค:
sidebar_first: 'แถบด้านข้างแรก'
sidebar_second: 'แถบด้านข้างที่สอง'
ส่วนหัว: 'ส่วนหัว'
front_welcome: 'ยินดีต้อนรับ'
เนื้อหา: 'เนื้อหา'
content_top: 'เนื้อหายอดนิยม'
ช่วยด้วยช่วยด้วย'
ส่วนท้าย: 'ส่วนท้าย'
footer_first: 'ด้านล่างสุด'
footer_second: 'จุดต่ำสุดที่สอง'
footer_third: 'อันดับสาม'
คุณสมบัติ:
โลโก้:จริง
site_name: จริง
site_slogan: จริง
node_user_picture: จริง
comment_user_picture: จริง
comment_user_verification: จริง
favicon: จริง
main_menu: จริง
เมนูรอง: เท็จ
ธีมที่กำหนดเอง professional.libraries.yml:
สไตล์สากล:
เวอร์ชัน: เวอร์ชัน
css:
ธีม:
css/style.css: {}
สคริปต์ทั่วโลก:
เวอร์ชัน: เวอร์ชัน
จส:
js/custom.js: {}
js/jquery.flexslider-min.js: {}
js/slide.js: {}
การพึ่งพา:
- แกน / jquery
- หลัก / drupal
- การตั้งค่าหลัก / drupal
- core/drupal.dialog.ajax
ฉันบันทึกไฟล์ทั้งหมดของธีมใหม่ตามข้อตกลง:
/site-root
- ธีม
- มืออาชีพ
- css
- จส
- แม่แบบ
- ระบบ
ปัญหาคือการอ้างอิง รวมถึง core/drupal ไม่ถูกนำไปใช้เลย และไฟล์ JavaScript สามไฟล์ใน สคริปต์ส่วนกลาง
คำสั่งไม่รวมอยู่ในหน้าเว็บไซต์ แม้ว่าทั้งไฟล์ CSS หลักของ Drupal และ style.css จาก มืออาชีพ: สไตล์ระดับโลก
ได้รับการรวม
ฉันเห็นสิ่งนั้นบนคอนโซลเครื่องมือพัฒนาเบราว์เซอร์ Chrome เมื่อฉันพยายามยกตัวอย่างเพื่อแสดงหน้าพื้นฐาน
โหนดในป๊อปอัปโมดอลโดยใช้ตัวอย่าง Drupal.org:
<ol>
<li><a class="use-ajax" data-dialog-options="{"width":400}" data-dialog-type="modal" href="/xampp/drupal9test/node/9">Basic page displayed in modal dialog. </a></li>
<li><a class="use-ajax" data-dialog-options="{"width":400}" data-dialog-type="dialog" href="/xampp/drupal9test/node/9">Basic page displayed in non modal dialog. </a></li>
<li><a class="edit-button use-ajax" data-dialog-options="{"width":400}" data-dialog-renderer="off_canvas" data-dialog-type="dialog" href="/xampp/drupal9test/node/9">Basic page displayed in a nice off canvas dialog. </a></li>
</ol>
โหนดแสดงเป็นหน้าทั่วไป ไม่มีป๊อปอัปโมดอลเปิดอยู่ ดังนั้นจึงไม่มีการใช้ JavaScript หลักหรือ AJAX หากฉันใช้ธีมที่กำหนดเอง เมื่อฉันเปลี่ยนไปใช้ธีม Bartik ทุกอย่างก็ใช้งานได้ โมดอลก็เช่นกัน
ฉันพยายามเพิ่ม Drupal core และ AJAX libraries โดยตรง professional_preprocess_page(&$ตัวแปร)
ในไฟล์ professional.theme ด้วยบรรทัด:
$variables['#attached']['library'][] = 'core/drupal';
$variables['#attached']['library'][] = 'professional/global-scripts';
ฉันพยายามเพิ่มไลบรารีด้วย Twig โดยตรงในเทมเพลต html.html.twig ด้วย {{แนบ_library('หลัก/drupal') }}
แต่การเปลี่ยนแปลงเหล่านี้ไม่มีผลใดๆ
แน่นอน ทุกครั้งที่ฉันเปลี่ยนการตั้งค่าบางอย่าง ฉันจะล้างแคชของไซต์ด้วย
ผมทำอะไรผิดหรือเปล่า? ใครช่วยแก้ปัญหาให้ฉันได้บ้าง