Entwickeln Sie die Funktion dsm () in Drupal 8 page.html.twig


8

Ist die Funktion dsm () des Devel-Moduls in page.html.twig verfügbar? Wenn es nicht verfügbar ist, gibt es eine Möglichkeit, es verfügbar zu machen?

Ich kann dsm () in der .theme-Datei verwenden, aber nicht in page.html.twig.

Mir ist die Funktion dump () in .twig bekannt. dump () ähnelt var_dump () von php und die Ausgabe ist nicht so sauber wie die Funktion dsm () des Devel-Moduls.

Die Verwendung von dsm () oder dpr () in page.html.twig verursacht Fehler und die Site wird nicht geladen.


Ich persönlich kenne die Antwort auf Ihre Frage nicht, aber schauen Sie hier: drupal.org/node/1805526
Sifro

@Sifro ​​Ich kenne die Funktion dump (), aber sie ist nicht sehr sauber.
15dk51

Ja , ich weiß, aber Kommentar # 4 sagt : „Sie können auch KPR verwenden, dpr, dsm, usw. , wenn Entwick - Modul für D8 heruntergeladen und aktiviert psynaptic kümmerten sich um das.“ Haben Sie nicht überprüft es aber
Sifro

Antworten:


6

Warum machst du es nicht einfach hook_preprocess_page()stattdessen?

<?php
function MYMODULE_preprocess_page(&$variables) {
  dpm($variables);
}

Gemäß Ihrem Vorschlag habe ich es in Abwesenheit von dpm () und dsm () in page.html.twig in der .theme-Datei meines Themas in der Funktion hook_preprocess_page (& $ variables) {dsm ($ variables);}
15dk51

Das einzige Problem bei diesem Ansatz besteht darin, dass Sie eine Ansichtsvorlage oder Blockvorlage debuggen. Ich denke, Sie könnten ihre jeweiligen Haken verwenden. Aber ich denke, der bessere Weg, dies zu tun, ist der Ansatz von @ Cottser.
Jorge Calderon

6

Das Kint-Submodul in Devel 8.x bietet jetzt Kint- Debugging-Funktionen in Twig-Vorlagen.

{{ kint() }}
{{ kint(variable_one, variable_two) }}

Genießen! Screenshots und ein bisschen mehr Infos hier: https://drupal.org/node/2218949

Und ich möchte hinzufügen, dass ich hoffe, dass der Contrib-Speicherplatz in 8.x eine Menge Debugging-Optionen bietet. Ich freue mich zum Beispiel darauf, dass Ladybug implementiert wird!


Wenn es Ihnen nichts ausmacht, wenn ich frage, wie ist Marienkäfer besser, warum sollten Sie sich für Kint entscheiden?
Raveren

Kint ist fantastisch und ich war froh, Zeit mit der Arbeit an der Kint / Twig-Integration für das Devel Drupal 8-Modul zu verbringen :) Ich habe nie gesagt, dass Marienkäfer besser ist, ich finde es immer schön, mehr Optionen zu haben!
Cottser

Hey, danke für die freundlichen Worte und die schrecklichen Integrationsmittel von Kint :)
Raveren

1

Verwenden Sie zum Debuggen die Zweigmethode. Gehen Sie zuerst zu sites / default / services.yml

und setze debug: true

Dann können Sie die Twig-Methode zum Debuggen verwenden.

{{dump (Attribute)}}

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.