2012-11-20 2 views
10

어떻게하면 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

또한 사용자 정의를 정의 할 수 있습니다 동일한 일을하는 Twig 인스턴스에서 Liquid의 |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! #} 

이럴 내가 특히 구문에 새로운 사람들이 조금 얻을 수 있습니다 공유 코드베이스 작업을 할 때 ~ 콤비에 비해 위의 샘플보다 직관적 찾기 : 다음과 같은 마크 업의 결과로

$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; 
})); 

뒤죽박죽.