代码之家  ›  专栏  ›  技术社区  ›  MilanG

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

  •  1
  • MilanG  · 技术社区  · 6 年前

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

    而不是真实的当前页面路径标记被替换为“数组”字符串。

    还尝试先将此变量转换为变量,然后将变量作为替换函数的第二个参数,但这也不起作用。

    如何实现这一点,有什么建议吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Quan Lee    6 年前

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

    {{ 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 }}
    

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