2016-07-20 5 views
0

Das folgende ist nicht die Anführungszeichen in HTML-Entitäten umwandelnPrevent zitiert in Zweig ternäre Operator in HTML-Entitäten umgewandelt werden

{% for row in files %} 
    <tr data-id="{{ row.id }}"><td>{{ row.name }}</td></tr> 
{% endfor %} 

Die folgende hat die Anführungszeichen in HTML-Entitäten umwandeln

{% for row in files %} 
    <tr{{ row.id?' data-id="'~row.id~'"' }}><td>{{ row.name }}</td></tr> 
{% endfor %} 

Wie kann ich verhindern, dass Anführungszeichen in HTML-Entitäten in einem ternären Ternäroperator konvertiert werden?

Antwort

1

Sie sollten den |raw Filter versuchen (überprüfen Sie die documentation). Dies liegt daran, dass im Allgemeinen alles, was dieser Zweig ausgibt, maskiert wird, um Dinge wie Cross-Site-Scripting zu vermeiden. Eine Ausnahme wird für vollständig statische Werte wie {{ '<b>static value</b>' }} gemacht, die nicht maskiert werden.

In Ihrem Fall sollten folgende Arbeiten:

{% for row in files %} 
    <tr{{ (row.id?' data-id="'~row.id~'"')|raw }}><td>{{ row.name }}</td></tr> 
{% endfor %}