想要从我的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');
}
答案 0 :(得分:0)
从id周围删除引号,它是一个变量。
{{ url('confirmer_conge', {'username': id}) }}
至于访问控制器中的ID,它应该像这样工作:
public function confirmeAction($username)
//...
}