- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Symfony 5 项目中,电子邮件是使用 Mailer 组件的 TemplatedEmail() 函数创建的。在使用的 Twig 模板($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]).
我不确定到底发生了什么,但路径似乎奇怪地连接在一起......
最佳答案
我认为你应该使用 absolute_url()结合 asset() .
基于此doc
If you need absolute URLs for assets, use the absolute_url() Twig
<img src="{{ absolute_url(asset('images/logo.png')) }}" alt="Symfony!"/>
<link rel="shortcut icon" href="{{ absolute_url('favicon.png') }}">
我认为这个应该可行:
<img src="{{ email.image((absolute_url(asset('@v_images')) ~ /user-'~user.id~'/v.jpg) | imagine_filter('v_watermark')) }}">
如果它不起作用,您应该添加一个带有基本 url 的 gloabl 变量。
Twig .yaml
twig:
globals:
app_base_url: '127.0.0.1:8000' // Put your base url here
并将其用作:
<img src="{{ email.image(app_base_url ~ asset('@v_images') ~ /user-'~user.id~'/v.jpg) | imagine_filter('v_watermark')) }}">
当然,当您在网络上发布您的网站时,base_url 会发生变化。您可以使用服务参数 '%app.base_url%'
在你的配置文件中定义它:
services_dev.yaml
parameters:
app.base_url: 'https://127.0.0.1:8000/'
services_prod.yaml
parameters:
app.base_url: 'https://your.website.url/'
然后将您的 twig.yaml 更新为
twig:
globals:
app_base_url: '%app.base_url%'
关于使用 liip imagine_filter 的 Symfony 5 Mailer 嵌入图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67215721/
我正在尝试按照集成说明使用 Liip Imagine 与 Sonata Media 生成缩略图: http://sonata-project.org/bundles/media/master/doc/
我有一个项目,我将上传的图像保存在 src/My/Bundle/Resources/uploads/images/full 中,并使用 twig 过滤器 imagine_filter 动态创建缩略图。
我正在处理 Sylius 1.5 项目,在我的本地环境中一切正常,但是在部署到我的开发环境时,我在过滤图像上遇到错误(使用 liip 想象过滤器)。 该环境由一个运行 sylius 的 docker
在 Symfony 5 项目中,电子邮件是使用 Mailer 组件的 TemplatedEmail() 函数创建的。在使用的 Twig 模板($templatedEmail->htmlTemplate
我正在使用 Liip\FunctionalTestBundle 对于单元测试,它工作得很好。 AppCategoryControllerTest.php: class AppCategoryContr
我想在我的功能测试中附加固定装置(基于 symfony 2.8 中的 LiipFunctionalTestBundle。即使它是我正在处理的开发数据库,我仍然需要附加固定装置,因为我将拥有: 区域
我希望能够上传一个文件,并从中创建 3 个缩略图并将所有内容存储在 S3 服务器上。 我的 liip/LiipImagineBundle 设置如下: liip_imagine : # configur
这就是我做的 我先打电话获取 token $client->request('POST', '/api/login_check', [], [], ['CONTENT_TYPE' =>
我希望能够上传一个文件,并从中创建 3 个缩略图并将所有内容存储在 S3 服务器上。 我的 liip/LiipImagineBundle 设置如下: liip_imagine : # configur
关于 (Symfony 4) How do I access the Liip Imagine bundle from within PHP code?我找到了一个使用 Liip Imagine Ca
关于 (Symfony 4) How do I access the Liip Imagine bundle from within PHP code?我找到了一个使用 Liip Imagine Ca
我是一名优秀的程序员,十分优秀!