Twig比较传递给模板内模板的参数

时间:2016-08-02 15:06:55

标签: symfony twig

在Twig中,我成功渲染了一个模板并将以下数组传递给它:

    $params = array(
                    'value1'    => 'y',
                    'value2'    => 'x'
                );

在我渲染的模板中,我希望有一个if语句,用于将'value1'的值与字符串变量进行比较。

这样的东西
    {% set type =  {{ value1 }}  %}
    {%  if type == y %}
       {* do code *}
    {%  elseif type == b %}
       {* do code *}

如何将{{value1}}的值分配给type,因为此示例不起作用。

2 个答案:

答案 0 :(得分:1)

尝试:{% set type = value1 %}

但为什么不呢:

{% if value1 == y  %}

{% elseif value2 == x %}

{% endif %}

答案 1 :(得分:0)

可能这个:

{% set type = params['value1']   %}

或更简单:

{% set type = params.value1   %}

文档中的更多信息here

然后你可以在if语句中使用:

{%  if type == 'x' %}
      do something for the X case 
{%  elseif type == 'y' %}
      do somethingelse for the Y case
{% endif %}

Here一个有效的例子。

希望这个帮助