สำหรับไซต์ Drupal ของเรา เราพัฒนาการจัดจำหน่ายของเราเอง ในการแจกจ่ายมีสองธีม (ธีมการดูแลระบบและธีมฐานที่กำหนดเอง) ธีมการดูแลระบบใช้งานได้ แต่ไม่พบธีมพื้นฐานที่กำหนดเอง เมื่อฉันพยายามติดตั้งธีมด้วย ธีม drush:เปิดใช้งาน our_base_theme -y
ฉันได้รับข้อผิดพลาดนี้
ใน ThemeInstaller.php บรรทัดที่ 136: ธีมที่ไม่รู้จัก: our_base_theme
ในการดูแลระบบ/รูปลักษณ์ ภายใต้ธีมแบบกำหนดเอง ซึ่งขึ้นอยู่กับธีมแบบกำหนดเองพื้นฐาน ฉันเห็น:
ต้องการ: our_base_theme (หายไป)
ชุดรูปแบบนี้ต้องการให้โมดูลในรายการทำงานได้อย่างถูกต้อง
กับ $themeHandler->getTheme('our_base_theme');
ใน Drupal Shell ฉันได้รับ:
Drupal\Core\Extension\Exception\UnknownExtensionException พร้อมข้อความ 'ไม่มีธีม our_base_theme'
ธีมตั้งอยู่ที่:
- เว็บ/โปรไฟล์/กำหนดเอง/our_profile/ธีม
- our_admin_theme
- _base_theme ของเรา
เมื่อฉันย้ายธีมไปที่ เว็บ/ธีม/กำหนดเอง/our_base_themeสามารถค้นหาธีมและทำงานได้อย่างถูกต้อง
ฉันได้ลองแล้ว:
การล้างแคช
ดรัช cr
ติดตั้งไฟล์ Drupal อีกครั้ง
rm นักแต่งเพลง.lock
ติดตั้งนักแต่งเพลง
#หรือการปรับปรุงผู้แต่ง
การตั้งค่าการอนุญาตไฟล์และโฟลเดอร์เพื่อหลีกเลี่ยงปัญหา
chmod -R 777 web/profiles/custom/our_profile/themes.chmod
กำลังรีเฟรชข้อมูลธีม
$themeHandler = \Drupal::service('theme_handler');
$themeHandler->รีเซ็ต();
$themeHandler->rebuildThemeData();
$themeHandler->refreshInfo();
เปลี่ยนทางเดินเข้า
เลือก * จาก `key_value` โดยที่ `collection`='state' และ `name`='system.theme.files';
มี ปัญหาที่คล้ายกันซึ่งวิธีแก้ไขคือการลบไฟล์ hook_install()
การใช้งาน แต่เราไม่ได้ใช้ hook นั้นในการแจกจ่ายของเรา
ฉันได้พบยัง บทความการแก้ไขปัญหาแต่ไม่มีคำแนะนำใดที่แก้ไขปัญหาได้