发送用户名symfony2的链接ID

时间:2014-08-18 09:47:28

标签: symfony fosuserbundle swiftmailer

想要从我的Symfony2应用程序发送电子邮件,此电子邮件必须包含确认链接,并且当用户单击此链接时,要更改数据库中字段的状态。

我在我的控制器中有这个:

 $message = \Swift_Message::newInstance()
                                    ->setSubject('demande de conge ')
                                    ->setFrom($col->getEmailCollaborateur())
                                    ->setTo($form->get("emailcdp")->getData())
                                    ->setBody($this->render('AcmeBundle:Conge:demandeCongeNormal.html.twig', array('conge' => $conge, 'id'=> $this->getUser()->getId())))
                                    ;
                                    $this->get('mailer')->send($message);

在树枝上:

id de collab: {{ id }}

pour confirmer la demande:

{{url('confirmer_conge',{'username':'id'})}}

但在电子邮件中我有这个:

  http://local.symfony2.com/app_dev.php/confirm/?username=+id+

我想获取在另一个控制器中发送消息的用户的ID以更新我的数据库

在我的routing.yml中:

 confirmer_conge:
pattern:  /confirm/{username}
defaults: { _controller: acmeBundle:Conge:confirme }

在控制器中我有这个功能:

 public function confirmeAction()
{return $this->render('acmeBundle:Conge:confirmer.html.twig');
}

1 个答案:

答案 0 :(得分:0)

从id周围删除引号,它是一个变量。

{{ url('confirmer_conge', {'username': id}) }}

至于访问控制器中的ID,它应该像这样工作:

public function confirmeAction($username)
    //...
}