РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
784 of 1361 menu

Метод locale класса TemplatedEmail

Метод locale класса TemplatedEmail задаёт локаль, которая будет использоваться при рендеринге шаблона письма. Первым параметром передаётся код локали в виде строки, например 'ru', 'en' или 'de'. Если в проекте настроены переводы для разных языков, шаблон письма будет отрендерен на указанном языке.

Метод возвращает объект TemplatedEmail, поэтому вызовы можно выстраивать в цепочку.

Синтаксис

$email->locale(string $locale): static

Пример

Давайте создадим письмо и зададим ему локаль 'ru':

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Mailer\MailerInterface; use Symfony\Component\Mime\Address; use Symfony\Component\Mime\Email; use Symfony\Bridge\Twig\Mime\TemplatedEmail; use Symfony\Component\Routing\Attribute\Route; class EmailController extends AbstractController { #[Route('/send-email', name: 'send_email')] public function send(MailerInterface $mailer): Response { $email = (new TemplatedEmail()) ->from(new Address('sender@example.com', 'Sender')) ->to(new Address('user@example.com', 'User')) ->subject('hello') ->htmlTemplate('email/welcome.html.twig') ->context(['name' => 'user']) ->locale('ru'); $mailer->send($email); return new Response('"email sent"'); } } ?>

Пример

Давайте зададим локаль 'en' и передадим её в контекст шаблона:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Mailer\MailerInterface; use Symfony\Component\Mime\Address; use Symfony\Component\Mime\Email; use Symfony\Bridge\Twig\Mime\TemplatedEmail; use Symfony\Component\Routing\Attribute\Route; class EmailController extends AbstractController { #[Route('/send-email-en', name: 'send_email_en')] public function send(MailerInterface $mailer): Response { $email = (new TemplatedEmail()) ->from(new Address('sender@example.com', 'Sender')) ->to(new Address('user@example.com', 'User')) ->subject('hello') ->htmlTemplate('email/welcome.html.twig') ->context(['name' => 'user']) ->locale('en'); $mailer->send($email); return new Response('"email sent"'); } } ?>

Смотрите также

  • класс TemplatedEmail,
    который создаёт письмо на основе Twig-шаблона
  • метод htmlTemplate,
    который задаёт HTML-шаблон письма
  • метод context,
    который передаёт данные в шаблон письма
  • метод subject,
    который задаёт тему письма
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить