我的目标是呈现一个Twig模板,并通过API将结果HTML发送到Mailchimp发送。
我目前的流程:
1)创建一个Twig-Template email.html.twig
。
2)$html = $this->renderView('MyBundle:email.html.twig');
3)sendHtmlViaApi($html);
问题:
我需要一个URL来包含一个Mailchimp Merge Tag String,它必须是*|VARIABLE|*
。我用{{ path('my_route', {variable : '*|VARIABLE|*'}) }}
做到了。期望的结果:/myroute/*|VARIABLE|*
。我得到的结果是:/myroute/*%7CVARIABLE%7C*
。
已尝试且失败的方法:
1)使用{% autoescape %}
2)|raw
3)Twig Extension with new url_decode从Symfony2 Twig stop escaping path
过滤答案 0 :(得分:0)
所以你希望Twig停止自动URL编码。
您可以将仅包含字母和下划线的占位符传递给path()
,以便不会对其进行转义。然后你可以使用字符串Mailchimp期望的replace
占位符:
{{ path('my_route', {variable : 'MAILCHIMP_VARIABLE'})|replace({
'MAILCHIMP_VARIABLE': '*|VARIABLE|*'
}) }}
答案 1 :(得分:0)
感谢您的建议! 最后这是我自己的错...在mailchimp端设置中缺少其中一个合并标签,因此它无法用所需的值替换它。 傻傻的我!