2012-11-20 18 views
10

Come aggiungerebbe più dati alla stessa variabile in Twig? Ad esempio, questo è quello che sto cercando di fare in Twig:Twig - Aggiunge più dati alla stessa variabile

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

ho capito che ~ accoda le stringhe insieme in Twig. Quando cerco {% set data ~ 'foo' %}, ho un errore in Twig.

risposta

20

L'operatore ~ non esegue l'assegnazione, che è la causa probabile dell'errore.

Invece, è necessario assegnare la stringa allegata torna alla variabile:

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

Vedi anche: How to combine two string in twig?

+0

Haha, che soluzione sciocca ma funziona. Grazie :) – Jon

0

Visualizzazione in modo dinamico in ramoscello

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

È inoltre possibile definire un costume filtro come il filtro |append di Liquid nella tua istanza Twig che fa la stessa cosa.

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

Con conseguente seguente markup:

{% 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 trovo l'esempio precedente più intuitiva rispetto alla ~ combinatore, soprattutto quando si lavora su una base di codice comune in cui le persone che non conoscono la sintassi potrebbe ottenere un po ' mischiato.

Problemi correlati