Drupal 8 page.html.twig中的Devel dsm()函数


8

在page.html.twig中可以使用Devel模块的dsm()函数吗?如果不可用,是否有办法使它可用?

我可以在.theme文件中使用dsm(),但不能在page.html.twig中使用。

我知道.twig中的dump()函数。dump()与php的var_dump()类似,并且输出不如Devel模块的dsm()函数那么干净。

在page.html.twig中使用dsm()或dpr()会导致错误,并且网站无法加载。


我个人不知道您的问题的答案,但请在此处查看:drupal.org/node/1805526
Sifro​​ 2013年

@Sifro​​我知道dump()函数,但不是很干净。
2013年

是的,我知道,但是评论4说:“如果下载并启用了D8的开发模块,您也可以使用kpr,dpr,dsm等。psynaptic可以解决这一问题”尽管尚未验证
Sifro​​ 2013年

Answers:


6

为什么不这样做呢hook_preprocess_page()

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

根据您的建议,在page.html.twig中没有dpm()和dsm()的情况下,我将其用于函数hook_preprocess_page(&$ variables){dsm($ variables);}中主题文件的.theme文件中
15dk51

这种方法的唯一问题是,如果要调试视图模板或块模板。我想您可以使用它们各自的钩子。但是我认为更好的方法是使用@Cottser的方法。
豪尔赫·卡尔德隆

6

现在,Devel 8.x中的Kint子模块在Twig模板中提供了Kint调试功能。

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

请享用!屏幕截图和更多信息,请参见:https : //drupal.org/node/2218949

并且我想补充一点,我希望8.x中的contrib空间能够带来大量的调试选项,例如,我希望看到Ladybug得以实现!


如果您不介意我问,瓢虫会更好吗?为什么会选择比Kint?
拉韦伦2014年

Kint太棒了,我很高兴花时间在Devel Drupal 8模块的Kint / Twig集成上工作。
Cottser 2014年

嘿,谢谢您的客气话,并忍受了Kint可怕的整合手段:)
Raveren 2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.