Diese Frage scheint beantwortet zu sein, aber eine elegantere Lösung, die nicht erwähnt wurde, besteht darin, die geschweiften Klammern einfach in Anführungszeichen zwischen die geschweiften Klammern des Zweigs zu setzen, wie folgt:
{{ '{{myModelName}}' }}
Wenn Sie eine Variable für den Inhalt verwenden, gehen Sie stattdessen folgendermaßen vor:
{{ '{{' ~ yourvariable ~ '}}' }}
Sie sollten einfache Anführungszeichen verwenden , keine doppelten Anführungszeichen. Doppelte Anführungszeichen ermöglichen die String-Interpolation durch Twig, sodass Sie mit dem Inhalt vorsichtiger umgehen müssen, insbesondere wenn Sie Ausdrücke verwenden.
Wenn Sie es immer noch hassen, all diese geschweiften Klammern zu sehen, können Sie auch ein einfaches Makro erstellen, um den Prozess zu automatisieren:
{% macro curly(contents) %}
{{ '{{' ~ contents ~ '}}' }}
{% endmacro %}
Speichern Sie es als Datei und importieren Sie es in Ihre Vorlage. Ich benutze ng
für den Namen, weil er kurz und süß ist.
{% import "forms.html" as ng %}
Oder Sie können das Makro oben in Ihre Vorlage einfügen und als _self importieren (siehe hier) :
{% import _self as ng %}
Verwenden Sie es dann wie folgt:
{{ ng.curly('myModelName') }}
Dies gibt aus:
{{myModelName}}
... und ein Follow-up für diejenigen, die MtHaml neben Twig verwenden. MtHaml ermöglicht die normale Verwendung von AngularJS-Locken, da auf jeden Twig-Code zugegriffen wird - und = anstelle von {{}}. Beispielsweise:
Einfaches HTML + AngularJS:
<tr ng-repeat="product in products">
<td> {{ product.name }} </td>
</tr>
MtHaml + AngularJS:
%tr(ng-repeat="product in products")
%td {{ product.name }}
MtHaml + AngularJS mit Zweig im MtHaml-Stil:
- set twigVariable = "somevalue"
= twigVariable
%tr(ng-repeat="product in products")
%td {{ product.name }}