https://symfony.com/doc/current/bundles/FOSUserBundle/emails.html
Эта ссылка, по-видимому, объясняет, как переопределить шаблон электронной почты из FOSUserBundle для сброса пароля для пользователя.
Я получил новый файл для сброса электронной почты (ранее был @FOSUser/Resetting/email.txt.twig
) и теперь сгенерируйте config.yml, я могу сказать FOSUserBundle использовать другой файл.
fos_user:
service:
mailer: fos_user.mailer.twig_swift
resetting:
email:
template: 'email/password_resetting.email.twig'
В ссылке сказано, что если я добавлю «mailer: fos_user.mailer.twig_swift», то можно будет обработатьHTML-код.
Этот новый файл мне нужно добавить HTML-код, поэтому я попытался, как говорится в документации:
Добавление всего HTML-кода внутри {% block body_html%} с помощью илибез "autoescape" -> тот же результат ... я вижу все теги html ...
Что я делаю не так?
Пример:
{# app/Resources/views/email/password_resetting.email.twig #}
{% block subject %}Resetting your password{% endblock %}
{% block body_text %}
{% autoescape false %}
Hello {{ user.username }} !
You can reset your password by accessing {{ confirmationUrl }}
Greetings,
the App team
{% endautoescape %}
{% endblock %}
{% block body_html %}
{#
//You can of course render the html directly here.
//Including a template as done here allows keeping things DRY by using
//the template inheritance in it
#}
<p><b>Test</b> test test</p>
{{ '<p><b>Test</b> test test</p>'|raw }}
{% include 'email/password_resetting.html.twig' %}
{% endblock %}
И содержание из email / pasword_resetting.html.twig:
<p><b>Test</b> test test</p>
{{ '<p><b>Test</b> test test</p>'|raw }}
И я получаю:
Hello ricard !
You can reset your password by accessing https://blablabla.bla/app_dev.php/es/resetting/reset/MiPqznsUxHQLLgviDYtCsJrQZBiaqVzDU5ENvHcadA
Greetings,
the App team
<p><b>Test</b> test test</p>
<p><b>Test</b> test test</p>
<p><b>Test</b> test test</p>
<p><b>Test</b> test test</p>
Я хотел бы видеть жирный шрифт и форматированное предложение, а нетеги, очевидно.
Я пробовал также:
{# app/Resources/views/email/password_resetting.email.twig #}
{% block subject %}Resetting your password{% endblock %}
{% block body_text %}
{% autoescape false %}
Hello {{ user.username }} !
You can reset your password by accessing {{ confirmationUrl }}
Greetings,
the App team
{% endautoescape %}
{% endblock %}
{% block body_html %}
{#
//You can of course render the html directly here.
//Including a template as done here allows keeping things DRY by using
//the template inheritance in it
#}
{% autoescape 'html' %}
<p><b>Test</b> test test</p>
{{ '<p><b>Test</b> test test</p>'|raw }}
{% endautoescape %}
{% autoescape %}
<p><b>Test</b> test test</p>
{{ '<p><b>Test</b> test test</p>'|raw }}
{% endautoescape %}
<p><b>Test</b> test test</p>
{{ '<p><b>Test</b> test test</p>'|raw }}
{% endblock %}
И я получаю:
Hello ricard !
You can reset your password by accessing https://blablabla.bla/app_dev.php/es/resetting/reset/2G2ZGW262Z1THu1_80k2vAQMdI4-faNFVFWgdOVts8
Greetings,
the App team
<p><b>Test</b> test test</p>
<p><b>Test</b> test test</p>
<p><b>Test</b> test test</p>
<p><b>Test</b> test test</p>
<p><b>Test</b> test test</p>
<p><b>Test</b> test test</p>