在 Symfony 5 项目中,电子邮件是使用 Mailer 组件 TemplatedEmail() 函数创建的。在使用的树枝模板 ($templatedEmail->htmlTemplate(..)) 中,使用嵌入图像
<img src="{{ email.image('@v_images/user-'~user.id~'/v.jpg') }}">
包括用户特定的图像。这工作正常。当试图将该图像传递给 liip 过滤器时
<img src="{{ email.image('@v_images/user-'~user.id~'/v.jpg') | imagine_filter('v_watermark') }}">
图像不再渲染。我正在考虑应用解析器设置以使 liip 能够从非标准目标路径读取 - 但没有找到任何合理的设置。文档并没有让我获得任何有用的信息。有关如何使 liip 与 Mailer 嵌入图像一起工作的任何提示将对我有很大帮助。
编辑(感谢@ArleighHix):
我还尝试将过滤器嵌套在调用中,例如
<img src="{{ email.image('@v_images/user-'~user.id~'/v.jpg' | imagine_filter('v_watermark')) }}">
这导致了以下错误:
Unable to find template "@v_images/user-1https:/127.0.0.1:8000/media/cache/resolve/v_watermark/v.jpg" (looked into: [SENSIBLE_LOCAL_PATH_IN_PROJECT]).
我不确定到底发生了什么,但路径似乎很奇怪地连接在一起......