电子邮件中的生成徽标图像

时间:2018-09-03 09:07:09

标签: symfony symfony-3.4

当我尝试发送电子邮件时,链接生成存在问题。 在我的.env文件中:

WEB_LOGO="http://test.loc/build/images/logo.png"

在我的twig.yml

twig:
    globals:
        web_logo: '%env(WEB_LOGO)%'

我的电子邮件模板:

<img align="center" alt="" src="{{ web_logo }}" height="30">

问题是当我打开文件夹/ build / images时,徽标图像如下所示:

http://test.loc/build/images/logo.12345.png

但是我生成为:

http://test.loc/build/images/logo.png

我不能使用{{ absolute_url(asset('build/images/logo.png')) }}之类的世代,因为我使用外部服务发送电子邮件并且受到限制。请帮忙!

1 个答案:

答案 0 :(得分:0)

我不知道是否有更好的方法,但是我会使用Finder组件来获取这样的文件名:

$finder = new Finder();
$directory = 'http://test.loc/build/images';
$name = 'logo';
$finder->in($directory)->name("/{$name}/")->files();
$logoFile = iterator_to_array($finder, false)[0];
$logoPath = $logoFile->getRealPath();

然后,您可以将$ logoPath变量作为参数传递给树枝模板。

如果您有多个徽标文件,例如“ logo.1.png”和“ logo.29.png”等,当然会出现问题。