Bagaimana cara memaksa regenerasi template Twig?


8

Ranting menghasilkan kelas untuk templatnya. Kelas-kelas ini secara efektif cache dengan ditulis ke disk.

Secara umum, orang mungkin tidak perlu repot dengan detail tentang bagaimana templat ranting ditangani, tetapi mungkin ada kasus di mana Templat ranting harus dihasilkan secara manual. (Mirip dengan kebutuhan untuk modul membangun kembali Registry di D7)

Jika itu relevan, saya bertanya karena saya terjebak dengan kesalahan yang terlihat seperti ini:

Kesalahan fatal: Kelas '__TwigTemplate_ddad913164239ac659c2bca09b3a49a5' tidak ditemukan di inti / lib / Drupal / Core / Templat / TwigEnvironment.php pada baris 107

Jawaban:


6

Tidak yakin mengapa Anda mendapatkan kesalahan khusus itu, tetapi lihat drupal_flush_all_caches (), yang tidak

PhpStorageFactory::get('twig')->deleteAll();

Yang mengatakan, saya tidak yakin apakah ini akan menyelesaikan masalah Anda, karena saya belum pernah melihat kesalahan itu, tidak yakin bagaimana akhirnya bisa mengharapkan kelas yang tidak ada.


Menarik bahwa Anda mengatakan Anda belum pernah melihatnya, seperti yang pernah saya lihat sebelumnya. Kemudian saya hanya menginstal ulang, dan itu berhasil. Sekarang bahkan itu tidak membantu.
Letharion

2
Dalam hal ini, ini ternyata menjadi kepemilikan yang buruk dari file pengaturan ... Terima kasih atas pesan kesalahan yang membantu Drupal;)
Letharion

1
Dalam kasus saya itu adalah izin folder file publik yang tidak diatur dengan benar. Saya menginstal situs web menggunakan drush, yang di lingkungan lokal saya adalah pengguna yang berbeda dari pengguna server web. Solusinya adalah menyesuaikan izin folder.
batigolix

1
Melalui drush:drush ev '\Drupal\Core\PhpStorage\PhpStorageFactory::get("twig")->deleteAll();'
Tim

1

Saya melihat kesalahan Ranting ini di log kesalahan saya, ketika mencoba mengakses situs Drupal 8.x setelah diinstal dengan drush with drush si --db-url=mysql://root:root@localhost/mysite -y. Jadi untuk memperbaiki masalah ini, sekali lagi dengan drush, cukup bersihkan cache:

drush cr all 

Selain itu, setelah ini, jika situs Drupal 8.x baru Anda tampaknya tidak memiliki gaya CSS apa pun, maka ini kemungkinan karena pengguna apache / httpd tidak memiliki izin menulis ke situs / default / file.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.