我想发送确认电子邮件,但我无法将表单的变量发送到我的电子邮件
这是我的代码
if($form->isValid() && $form->isSubmitted()) {
$NewsLetters = $form->getData();
if(!$NewsLetters->getNom()) {
$NewsLetters->setNom("Anonyme");
}
$em->persist($NewsLetters);
$em->flush();
$nom = $NewsLetters->getNom();
$message = (new \Swift_Message('Confirmation d\'inscription à la newsletter'))
->setFrom('ez@zezezezeeze.fr')
->setTo($NewsLetters->getEmail())
->setBody(
$this->renderView('emails/confirmationEmail.html.twig'),
array('nom' => $nom, //HERE
),
'text/html'
);
$this->get('mailer')->send($message);
但是twig给了我这个错误
第4行的电子邮件\ confirmationEmail.html.twig中不存在变量“nom”。
<html>
<body>
Vous avez été inscrit avec succès à la Newsletter : {{ nom }}
{#{{ newsletterWebsite }} {{ newsletterStylo }} {{ newsletterCrayon }}#}
</body>
</html>
通常是工作
感谢您的帮助!
答案 0 :(得分:2)
似乎存在错误缩进的问题:带有参数的数组应该作为renderView
方法的第二个参数传递,如下所示:
$message = (new \Swift_Message('Confirmation d\'inscription à la newsletter'))
->setFrom('ez@zezezezeeze.fr')
->setTo($NewsLetters->getEmail())
->setBody(
$this->renderView(
'emails/confirmationEmail.html.twig',
array('nom' => $nom),
), // close renderView
'text/html'
); // close setBody
希望这个帮助