dump () tidak berfungsi di Drupal 8 (halaman kosong, debbugging diaktifkan)

9

Saya ingin menggunakan template dump()saya .twig(di dalam tema khusus).

Masalahnya adalah, ketika saya menempatkan {{ dump() }}halaman itu kosong.

Saya telah:

  1. Set twig.confing debug: truein services.yml.
  2. Cache yang dihapus.

Saat saya menghapus {{ dump() }}everthing works.

Setelah berjam-jam googling saya telah menemukan beberapa informasi tentang misteri di $settings['twig_debug'] = TRUE; sini (saya bahkan tidak memiliki baris seperti itu di file saya, tetapi menambahkannya tidak mengubah apa-apa) dan $twig = new Twig_Environment($loader, array(...(di mana menemukannya bahkan?).

Saya bekerja pada instalasi Drupal 8 bersih & segar, turing debbuing pada (langkah 1.) tidak termasuk komentar dalam kode sumber (sebagaimana mestinya) tetapi gunakan dump()sekali dan semua yang Anda lihat hanyalah halaman kosong.

PolGraphic
sumber
Sudahkah Anda memeriksa log drupal?
Eyal
Mungkin ada kesalahan PHP yang terkait dengan layar kosong. Sejauh yang saya tahu, Anda ingin menggunakan Kint daripada dump () sekarang. Lihat drupaleasy.com/quicktips/…
cilefen
1
Layar kosong berarti sebagian besar kesalahan memori, dan karena dump () mencetak semua variabel itu bisa menjadi petunjuk
Paul Bönisch

Jawaban:

11

Saya setuju dengan komentar yang tersisa untuk pertanyaan: Sepertinya Anda memiliki masalah memori . Periksa log kesalahan untuk server.

Saya memiliki masalah yang sama dengan dump()dan kint()dalam implementasi template_preprocess_views_view_field(), ketika mencoba untuk menampilkan konten berturut-turut, pada instalasi Drupal 8 yang bersih dan segar. Saya menemukan solusi untuk kint(), yang tampaknya untuk sementara memperbaiki masalah memori. Tambahkan pengaturan berikut dalam file config.default.php untuk modul Kint.

/** @var int max array/object levels to go deep, if zero no limits are applied */
$_kintSettings['maxLevels'] = 4;

Ambillah sebagai petunjuk: Cetak variabel tertentu, bukan seluruh array variabel.

Oana Hulpoi
sumber
Dimungkinkan juga untuk hanya mencetak kunci variabel (meskipun saya lupa caranya).
Eyal
Terima kasih. Kehabisan memori adalah masalahnya. Apakah ada maxLevelspengaturan untuk dump()(sesuatu yang $_kintSettingsAnda sediakan untuk kint())?
PolGraphic
1
@Eyal Saya kira Anda sedang memikirkandump(_context|keys)
PolGraphic
Bukan begitu. Tetapi jika itu berhasil maka itu juga baik-baik saja.
Eyal
dump()gunakan $output = Variable::export($input)untuk menampilkan array variabel. Tampaknya tidak ada cara untuk mengatur berapa level untuk masuk ke dalam array.
Oana Hulpoi