dump () ne fonctionne pas dans Drupal 8 (page vierge, le débogage est activé)

9

Je veux utiliser dump()dans mon .twigmodèle (à l'intérieur du thème personnalisé).

Le problème est que lorsque je place {{ dump() }}la page est simplement vierge.

J'ai eu:

  1. Mettre twig.confing debug: trueen services.yml.
  2. Cache effacé.

Le moment où je retire {{ dump() }}tout fonctionne.

Après des heures de recherche sur Google, j'ai trouvé des informations sur le mystère $settings['twig_debug'] = TRUE; ici (je n'ai même pas une telle ligne dans mon fichier, mais l'ajouter ne change rien) et $twig = new Twig_Environment($loader, array(...(où le trouver même?).

Je travaille sur une installation propre et fraîche de Drupal 8, turing debbuing on (étape 1.) inclut des commentaires dans le code source (comme il se doit) mais utilisez dump()une fois et tout ce que vous voyez n'est qu'une page blanche.

PolGraphic
la source
Avez-vous vérifié le journal drupal?
Eyal
Il y a probablement une erreur PHP associée à l'écran vide. Pour autant que je sache, vous voulez aller avec Kint plutôt que dump () maintenant. Voir drupaleasy.com/quicktips/…
cilefen
1
Un écran vide signifie principalement une erreur de mémoire, et puisque dump () imprime toutes les variables, cela pourrait être un indice
Paul Bönisch

Réponses:

11

Je suis d'accord avec le commentaire laissé pour la question: Il semble que vous ayez un problème de mémoire insuffisante. Vérifiez le journal des erreurs du serveur.

J'ai eu le même problème avec dump()et kint()dans une implémentation de template_preprocess_views_view_field(), tout en essayant de sortir le contenu d'une ligne, sur une installation Drupal 8 propre et fraîche. J'ai trouvé une solution de contournement pour kint(), qui semble résoudre temporairement le problème de mémoire. Ajoutez les paramètres suivants dans le fichier config.default.php du module Kint.

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

Prenez-le comme un indice: imprimez une variable spécifique, pas le tableau entier de variables.

Oana Hulpoi
la source
Il est également possible d'imprimer uniquement les touches variables (bien que j'aie oublié comment).
Eyal
Je vous remercie. Le manque de mémoire était le problème. Y a-t-il des maxLevelsparamètres pour dump()(quelque chose comme $_kintSettingsvous l'avez prévu kint())?
PolGraphic
1
@Eyal Je suppose que vous pensiez àdump(_context|keys)
PolGraphic
Ce n'était pas ça. Mais si cela fonctionne, c'est bien aussi.
Eyal
dump()utilise $output = Variable::export($input)pour sortir le tableau de variables. Il semble qu'il n'y ait aucun moyen de définir le nombre de niveaux à approfondir dans le tableau.
Oana Hulpoi