如何将更多数据附加到Twig中的同一变量?例如,这就是我在Twig:中尝试做的事情
var data = "foo";
data += 'bar';
我已经发现~
在Twig中将字符串附加在一起。当我尝试{% set data ~ 'foo' %}
时,我在Twig中遇到了一个错误。
~
运算符不执行赋值,这可能是导致错误的原因。
相反,您需要将附加的字符串分配回变量:
{% set data = data ~ 'foo' %}
另请参阅:如何在树枝中组合两根绳子?
在树枝中动态显示
{% for Resp in test.TestRespuestasA %}
{% set name = "preg_A_" ~ Resp.id %}
{% set name_aux = "preg_A_comentario" ~ Resp.id %}
<li>{{ form_row(attribute(form, name)) }}</li>
{% endfor %}
您还可以在Twig实例中定义一个自定义过滤器,如Liquid的|append
过滤器,它也可以做同样的事情。
$loader = new Twig_Loader_Filesystem('./path/to/views/dir');
$twig = new Twig_Environment($loader);
...
...
$twig->addFilter(new Twig_SimpleFilter('append', function($val, $append) {
return $val . $append;
}));
导致以下标记:
{% set pants = 'I'm wearing stretchy pants!' %}
{% set part2 = ' and they're friggin' comfy!' %}
{% set pants = pants|append(part2) %}
{{ pants }}
{# result: I'm wearing stretchy pants! and they're friggin' comfy! #}
IMHO我发现上面的示例比~
组合子更直观,尤其是在处理共享代码库时,新语法的人可能会有点混淆。