【问题标题】:Can't send a variable to twig in order to send an email无法将变量发送到树枝以发送电子邮件
【发布时间】:2017-08-02 08:35:31
【问题描述】:

我想发送一封确认邮件,但我无法将表单的变量发送到我的邮箱

这是我的代码

        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 行的 emails\confirmationEmail.html.twig 中不存在变量“nom”。

<html>

<body>
Vous avez été inscrit avec succès à la Newsletter : {{ nom }}
{#{{ newsletterWebsite }} {{ newsletterStylo }} {{ newsletterCrayon }}#}
</body>
</html>

正常情况下

感谢您的帮助!

【问题讨论】:

    标签: symfony email twig swiftmailer symfony-3.2


    【解决方案1】:

    似乎是缩进错误的问题:带参数的数组应作为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
    

    希望有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 2013-09-22
      • 2014-10-26
      • 2015-09-05
      • 1970-01-01
      • 2019-01-19
      相关资源
      最近更新 更多