1

我的目标是渲染一个 Twig 模板并通过 API 将生成的 HTML 发送到 Mailchimp 以发送出去。

我目前的流程:

1)创建一个 Twig-Template email.html.twig

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

3)sendHtmlViaApi($html);

问题: 我需要一个包含 Mailchimp 合并标记字符串的 URL,它必须是*|VARIABLE|*. 我用{{ path('my_route', {variable : '*|VARIABLE|*'}) }}. 期望的结果:/myroute/*|VARIABLE|*。我得到的结果:/myroute/*%7CVARIABLE%7C*

已经尝试和失败的方法:

1)使用{% autoescape %}

2)|raw

3) 带有来自 Symfony2 Twig 的新 url_decode 过滤器的 Twig 扩展停止转义路径

4

2 回答 2

0

感谢您的建议!最后,这都是我自己的错...... mailchimp 端设置中缺少一个合并标签,因此它无法用所需的值替换它。傻我!

于 2017-01-14T17:11:18.497 回答
0

因此,您希望 Twig 停止自动 URL 编码。

您可以将仅包含字母和下划线的占位符传递给path(),这样它就不会被转义。然后您可以replace使用字符串 Mailchimp 期望的占位符:

{{ path('my_route', {variable : 'MAILCHIMP_VARIABLE'})|replace({
    'MAILCHIMP_VARIABLE': '*|VARIABLE|*'
}) }}
于 2017-01-14T13:23:07.620 回答