Twig动态替换关键字

时间:2014-06-18 14:21:56

标签: twig

我想知道为什么这不起作用

{% set what = 'hate' %}
{% set byValue = 'like' %}
{{ 'I hate twig'|replace( { what : byValue } ) }} 

它应该显示I like twig不是吗?

3 个答案:

答案 0 :(得分:2)

用括号括起钥匙,Twig将其视为变量:

{{ 'I hate twig'|replace({ (what): byValue }) }}

答案 1 :(得分:2)

使用Twig创建关联数组的语法是:

{key1: value1, key2: value2, 'key3': value3, (key4): value4}...

请注意:

  • key1和key2是HASH KEYS

  • ' KEY3'是一个字符串

  • (key4)是一个EXPRESSION(它评估你的key4变量)

  • value1 ... value4是变量

HASH KEYS基本上被视为字符串。

那么,你的数组:

{ what : byValue }

将使用what键创建一个数组,而不是what变量的内容。如果你想使用表达式而不是哈希键,你只需要用括号包装你的哈希键(甚至是一个数字)。

{ (what) : byValue }

答案 2 :(得分:0)

应该

{{ 'I hate twig'|replace( { what : byValue } )) }} 

{{ 'I hate twig'|replace( { what : byValue } ) }}