【问题标题】:how can I var dump a block/node content in drupal 8如何在 drupal 8 中转储块/节点内容
【发布时间】:2015-01-12 15:41:42
【问题描述】:

我正在尝试覆盖块主题并使用 html 和 twig 重建它。

我似乎无法从块类型或内容类型中找到变量,例如找不到图像 url。

我如何使用 kint 来实现它?

【问题讨论】:

  • 你应该试试 drupal.stackexchange.com。

标签: php drupal twig drupal-8


【解决方案1】:

转储所有内容的最简单方法是使用

{{ dump() }} 

在您的树枝模板中。

我在相当大的 Drupal 站点上工作,我使用它来避免因循环变量而耗尽内存。

<ol>
    {% for key, value in _context  %}
      <li>{{ key }}</li>
    {% endfor %}
</ol>

这会将所有内容转储到一个漂亮的有序列表中。

希望这会有所帮助!

此外,我不确定您是否已经这样做了,但如果没有,请打开 twig 调试工具,然后检查您选择的检查器,它会为您提供建议并覆盖数据。

你可以在你的 sites/default/services.yml 中使用

twig.config:
debug: true 

【讨论】:

  • 循环太棒了!谢谢。 +1
  • @Guru 您是否将标记添加到您的模板文件中?这部分不进入 services.yml 它进入模板文件,您想知道表示层中有哪些变量可用。例如,如果你把它放在 page.html.twig 里面,你应该会看到很多。
  • 我提到了添加到 services.yml 文件中的“twig.config: debug: true”行
  • 您是否尝试在模板文件中使用
      sn-p?如果您需要确保将模板建议放入正确的模板文件中,打开 debug: true 还会将模板建议添加到您的检查器中。
【解决方案2】:

如果你安装了 kint(Devel 模块),只需使用:

{{ kint(_context) }}

{{ dump() }}好,因为kint可以在递归太长的情况下进行管理,避免内存问题。其次,有一个很好的方式来展示信息。

【讨论】:

  • 我同意。金特好很多。它还允许您单击所需的数组元素并将path 复制到其中。它还为您提供了一个可用方法列表,使您可以更轻松地访问受保护的值。
猜你喜欢
  • 1970-01-01
  • 2014-09-04
  • 1970-01-01
  • 2016-06-25
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多