Twig - 将变量设置为值

时间:2015-12-04 14:01:02

标签: symfony twig

我在Twig循环中有这段代码,它会为key => value

的每个第一个字母呈现漂亮的颜色
<i class="avatar avatar-color-95 avatar-letter-c">{{ firstletter(message.firstname)}}</i>

但我希望这能以动态的方式显示颜色,不同的颜色取决于值的长度

{% for message in pagination %}
  {% set namecount = message.firstname | length %}
    {#{ dump(namecount)}#}//outputs number(length)
   <div class="container avatar">
     <i class="avatar avatar-color-12 avatar-letter-c">{{ firstletter(message.firstname)}}</i>
{% endfor %}

我想这样做

    <i class="avatar avatar-color-{{ namecount }} avatar-letter-{{firstletter(message.firstname)}}">

你是怎么做到的?我试着把qoutes放在

之间
"{{namecount}}"

"{{firstletter(message.firstname)}}

但它不起作用。我在Twig docs中找不到任何关于此的文档。你怎么做的?

1 个答案:

答案 0 :(得分:1)

来自评论部分......

您可以使用<i class="avatar avatar-color-{{ message.firstname|length }} avatar-letter-{{ message.firstname|slice(0, 2) }}">

除非你打算再次使用变量,否则设置变量并没有太多意义,而不是内联调用过滤器/函数。