2012-11-20 60 views
10

如何將更多數據附加到Twig中的相同變量?例如,這就是我想要的枝條做:Twig - 將更多數據追加到同一變量

var data = "foo"; 
data += 'bar'; 

我已經想通了,~在枝杈附加串在一起。當我嘗試{% set data ~ 'foo' %}時,在Twig中出現錯誤。

回答

20

~運算符不會執行賦值,這可能是導致錯誤的原因。

相反,你需要附加的字符串分配回變量:

{% set data = data ~ 'foo' %} 

參見:How to combine two string in twig?

+0

哈哈,多麼愚蠢的解決方案,但它的工作原理。謝謝 :) – Jon

0

在樹枝動態顯示

{% 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 %} 
0

您也可以定義自定義過濾器像液體的|append過濾器在你的Twig實例中做同樣的事情。

$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! #} 

恕我直言,我發現上面的樣本比~組合子更直觀,尤其是在一個共享代碼庫,人們新的語法可能會有點工作時混合。