web-dev-qa-db-fra.com

Comment échapper aux délimiteurs Twig dans un modèle Twig?

Twig utilise les délimiteurs {{ }}, {% %}, {# #}.

Mais comment puis-je afficher {{ }} dans un modèle Twig? Je ne parle pas de l'échappement HTML.

Je pose la question car je souhaite inclure un modèle de moustache dans mon modèle Twig afin de pouvoir remplir avec les données provenant d'un appel AJAX.

32
Michaël Perrin

Le moyen le plus simple consiste à sortir le délimiteur de variable ({{) en utilisant une expression de variable:

{{ '{{' }}

Les alternatives (utilisées lorsque vous devez trop vous échapper) sont des blocs bruts ( verbatim depuis 1.12):

{% raw %}
    <ul>
    {% for item in seq %}
        <li>{{ item }}</li>
    {% endfor %}
    </ul>
{% endraw %}

En fait, c'est assez bien documenté .

57
raina77ow

La documentation Twig donne deux suggestions. La première consiste simplement à sortir une chaîne:

{{ '{{' }}

Sinon, si vous voulez sortir une longue section (cela ressemble à vous), vous pouvez utiliser la balise raw :

{% raw %}
    your mustache content here
{% endraw %}
10
lonesomeday
{% block body %} 
<table class="table table-striped"> 
    {% for temp in data %} 
    <tr> 
        <td>{{temp.fname}}</td> 
        <td>{{temp.lname}}</td> 
    </tr> 
    {% endfor %}
</table>
{% endblock %} 
0
Neha Patel