Drupal 8用树枝中的变量值替换令牌

时间:2018-08-16 11:15:20

标签: twig drupal-8

在段落模板中,我这样写出段落字段值:

{{ 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).

并且用“ Array”字符串代替实际的当前页面路径令牌。

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

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

1 个答案:

答案 0 :(得分:0)

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

'xyz'

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

如果不起作用,可以转储(内容)吗?