У меня проблема с созданием ссылки, когда я пытаюсь отправить электронное письмо. В моем файле .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')) }}, потому что я отправляю электронную почту, используя внешнюю службу, и у меня есть ограничения. Помоги пожалуйста !




Я не знаю, есть ли лучший способ сделать это, но я бы использовал компонент 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» и т. д.