Drupal 8用树枝中的变量值替换标记

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

在段落模板中,我正在写出段落字段值,如下所示:

{{ content.field_text['0']['#context'].value }}

这很有效。现在我想在打印该文本时支持令牌。即如果在文本内部我发现"%current%"字符串我想用当前页面的路径替换它。

我也能够像这样获得当前页面的路径:

{{ url('<current>') }}

我可以用这样的静态文本进行搜索替换:

{{ content.field_text['0']['#context'].value|replace({'%url%': "Dummy text"}) }}

这也有效。

但是,当我试图把它们全部放在一起时:

{{ content.field_text['0']['#context'].value|replace({'%url%': url('<current>') }) }}

它不起作用。在那种情况下,我收到错误消息:

Notice: Array to string conversion in twig_replace_filter() (line 486 of vendor/twig/twig/lib/Twig/Extension/Core.php).

而不是真正的当前页面路径令牌被替换为“数组”字符串。

还试图先将变量变为变量,然后将变量作为替换函数的第二个参数,但这两个都不起作用。

任何建议如何实现这一目标?

twig drupal-8
1个回答
0
投票

您位于文章模板节点详细信息页面上

{{ entity.field_text.value }} to get the true raw value, includes tags and encoding. Example {{ node.body.value }}

要么

{{ content.field_text.0 }} to get the raw value minus tags and encoding. Example: {{ content.body.0 }}

如果不工作,你可以转储(内容)?

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