dump () non funziona in Drupal 8 (pagina vuota, il debug è abilitato)


9

Voglio usare dump()nel mio .twigmodello (all'interno del tema personalizzato).

Il problema è che quando posiziono {{ dump() }}la pagina è vuota.

Ho avuto:

  1. Situato twig.confing debug: truein services.yml.
  2. Cache cancellata.

Nel momento in cui rimuovo {{ dump() }}tutto funziona.

Dopo ore di ricerche su Google ho trovato alcune informazioni sul mistero $settings['twig_debug'] = TRUE; qui (non ho nemmeno una tale linea nel mio file, ma aggiungerlo non cambia nulla) e $twig = new Twig_Environment($loader, array(...(dove trovarlo anche?).

Lavoro su un'installazione pulita e fresca di Drupal 8, continuando a seguire (passaggio 1.) include i commenti nel codice sorgente (come dovrebbe) ma usare dump()una volta e tutto ciò che vedi è solo una pagina vuota.


Hai controllato il registro di Drupal?
Eyal,

Probabilmente c'è un errore PHP associato alla schermata vuota. Per quanto ne so, ora vuoi andare con Kint piuttosto che con dump (). Vedi drupaleasy.com/quicktips/…
cilefen il

1
Lo schermo vuoto significa principalmente errore di memoria, e poiché dump () stampa tutte le variabili potrebbe essere un suggerimento
Paul Bönisch,

Risposte:


11

Sono d'accordo con il commento lasciato per la domanda: sembra che tu abbia un problema di memoria insufficiente. Controllare il registro degli errori per il server.

Ho avuto lo stesso problema con dump()e kint()in un'implementazione di template_preprocess_views_view_field(), durante il tentativo di produrre il contenuto di una riga, su un'installazione Drupal 8 pulita e fresca. Ho trovato una soluzione alternativa kint(), che sembra risolvere temporaneamente il problema di memoria. Aggiungi le seguenti impostazioni nel file config.default.php per il modulo Kint.

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

Prendilo come suggerimento: stampa una variabile specifica, non l'intera matrice di variabili.


È anche possibile stampare solo i tasti variabili (anche se ho dimenticato come).
Eyal,

Grazie. Memoria insufficiente era il problema. Ci sono delle maxLevelsimpostazioni per dump()(qualcosa come quello che $_kintSettingshai previsto kint())?
PolGraphic il

1
@Eyal Immagino che stavi pensandodump(_context|keys)
PolGraphic il

Non era quello. Ma se funziona, allora va bene lo stesso.
Eyal,

dump()utilizza $output = Variable::export($input)per generare l'array di variabili. Sembra che non ci sia modo di impostare il livello per andare in profondità nell'array.
Oana Hulpoi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.