在drupal 8中如何打印节点对象

问题描述 投票:1回答:1

在drupal 7中,我们可以使用devel模块中的kpr()或php print_r()var_dump()函数将$ node对象打印到node.tpl文件中或挂接预处理节点,以进行调试和查找字段或..] >

但是在drupal 8中,我们不能在树枝中使用php函数,我尝试了kint()dump()在树枝中打印节点,但没有成功。 (我已经在services.yml中设置了debug: true)(更多详细信息:twig文件中的kint(node)造成了无限循环,并导致浏览器中的内存用尽)。

所以问题是如何使用树枝或钩子预处理节点在drupal 8中打印节点对象?

Q更新v 1.0:

我有文章的自定义树枝模板:node--article.html.twig,它可以正常工作:

<article>

<div>
    {{ content.body|render }} {# this works #}
</div>

<footer>
    {{ kint(node.field_custom.value) }} {# prints the custom field value without any problem #}
    {{ kint(node) }} {# this causes infinite loop and memory issue #}
    {{ content }} {# prints all content fields without any problem #}
    {{ kint(content) }} {# nothing happen or display with this! #}
    {{ kint(label) }} {# infinite like node #}
</footer>

在drupal 7中,我们可以使用devel模块中的kpr()或php print_r()和var_dump()函数在node.tpl文件中打印$ node对象,或者挂接预处理节点以调试和查找字段或...

drupal drupal-8
1个回答
0
投票

我知道kint()函数不是问题,因为它显示了为测试创建的自定义数组和对象。所以问题是节点对象本身。它很大,使用kint()打印时出现了内存限制问题。当我在memory_limit= -1文件中将内存限制更改为-1 php.ini进行测试时,它占用了系统的所有16GB内存,还不够!

© www.soinside.com 2019 - 2024. All rights reserved.