Функция dvel dsm () в Drupal 8 page.html.twig

8

Доступна ли функция dsm () модуля Devel в page.html.twig? Если он недоступен, есть ли способ сделать его доступным?

Я могу использовать dsm () в файле .theme, но не в page.html.twig.

Мне известно о функции dump () в .twig. dump () похож на var_dump () в php, и вывод не так чист, как функция dsm () модуля Devel.

Использование dsm () или dpr () в page.html.twig приводит к ошибке и сайт не загружается.

15dk51
источник
Я лично не знаю ответ на ваш вопрос, но посмотрите здесь: drupal.org/node/1805526
Sifro
@Sifro ​​Мне известна функция dump (), но она не очень чистая.
15dk51
Да, я знаю, но комментарий № 4 говорит: «Вы также можете использовать kpr, dpr, dsm и т. Д., Если модуль devel для D8 загружен и включен. Psynaptic позаботился об этом», хотя это не проверено
Sifro

Ответы:

6

Почему бы просто не сделать это hook_preprocess_page()вместо этого.

<?php
function MYMODULE_preprocess_page(&$variables) {
  dpm($variables);
}
Бенджи
источник
Согласно вашему предложению, в отсутствие dpm () и dsm () в page.html.twig я использовал его в файле темы .theme внутри функции hook_preprocess_page (& $ variable) {dsm ($ variable);}
15dk51
Единственная проблема с этим подходом - если вы отлаживаете шаблон представления или шаблон блока. Я думаю, вы могли бы использовать их соответствующие крючки. Но я думаю, что лучший способ сделать это - использовать подход @ Коттсера.
Хорхе Кальдерон
6

Подмодуль Kint в Devel 8.x теперь обеспечивает функциональность отладки Kint в шаблонах Twig.

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

Наслаждайтесь! Скриншоты и немного больше информации здесь: https://drupal.org/node/2218949

И я хочу добавить, что я надеюсь, что в разделе 8.x появятся тонны опций отладки, например, я с нетерпением жду возможности внедрения Ladybug !

Cottser
источник
Если вы не возражаете, я спрашиваю, как божья коровка лучше, почему это ваш выбор, а не Кинт?
Раверен
Kint - это фантастика, и я был рад потратить время на работу над интеграцией Kint / Twig для модуля Devel Drupal 8 :) Я никогда не говорил, что Божья коровка лучше, я просто думаю, что всегда приятно иметь больше вариантов!
Котцер
Привет, спасибо за добрые слова и мириться с ужасными средствами интеграции Кинт :)
Raveren
1

Используйте метод ветки для отладки. сначала зайдите на сайты / default / services.yml

и установите debug: true

тогда вы можете использовать метод ветки для отладки.

{{dump (attribute)}}

Раушан Тивари
источник