Twig-将字符串数据附加到同一变量



如何将更多数据附加到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我发现上面的示例比~组合子更直观,尤其是在处理共享代码库时,新语法的人可能会有点混淆。

最新更新