2017-01-14 2 views
1

Ziel ist es, eine Twig Vorlage zu rendern und die resultierende HTML über API zu Mailchimp gesendet werden gesendet.Wie nicht Weg() in Twig Template

Mein aktueller Prozess:

1) erstellen Zweig-Template email.html.twig.

2) $html = $this->renderView('MyBundle:email.html.twig');

3) sendHtmlViaApi($html);

Das Problem: ich eine URL benötigen ein Mailchimp Merge-Tag-String zu enthalten, die *|VARIABLE|* sein muss. Ich mache das mit {{ path('my_route', {variable : '*|VARIABLE|*'}) }}. Das gewünschte Ergebnis: /myroute/*|VARIABLE|*. Das Ergebnis bekomme ich: /myroute/*%7CVARIABLE%7C*.

bereits versucht und sind gescheitert Methoden:

1) mit {% autoescape %}

2) |raw

3) Zweig Erweiterung mit neuen url_decode Filter aus Symfony2 Twig stop escaping path

+0

Sind Sie sicher, dass mailchimp die maskierte URL nicht verarbeitet? Es gibt einen Grund zu entkommen. Das Erzeugen ungültiger URLs erscheint seltsam. – Cerad

Antwort

0

So möchten Sie Zweig zu Stoppen Sie die automatische URL-Codierung.

Sie können einen Platzhalter mit nur Buchstaben und Unterstrich an path() übergeben, damit es nicht maskiert wird. Dann können Sie den Platzhalter mit der Zeichenfolge Mailchimp erwarten replace:

{{ path('my_route', {variable : 'MAILCHIMP_VARIABLE'})|replace({ 
    'MAILCHIMP_VARIABLE': '*|VARIABLE|*' 
}) }} 
0

Vielen Dank für Ihre Anregungen! Am Ende war alles meine eigene Schuld ... Einer der Merge Tags fehlte auf der Mailchimp-Seite Setup, so dass es nicht mit dem gewünschten Wert ersetzt werden konnte. Dumm ich!