我想要的网址将在Email \ html \ forgot_password_email.ctp中提供
控制器中的方法
public function forgotPassword(){
$url = Router::url(['controller' => 'users', 'action' => 'reset'], true) . '/' . $passkey;
$this->getMailer('User')->send('forgotPassword', [$user]);
}
UserMailer.php
->to($user->email)
->emailFormat('html')
->subject(sprintf('Forgot Password link %s', $user->username))
->viewVars([
'username'=> $user->username,
'useremail'=>$user->email,
'userid' => $user->id
])
->template('forgotPasswordEmail')
我可以在Email \ html \ forgot_password_email.ctp中打印这3个变量,例如username,useremail,userid,但我不知道如何打印网址
答案 0 :(得分:1)
您似乎复制并粘贴但未阅读或理解手册中解释的内容whereHas()
。
send()的第二个arg是一个数组,它接受传递给你的邮件程序函数的args。所以只需在那里传递URL。甚至更好,因为这不属于控制器(记住:胖模型,瘦控制器):在模板中生成URL并传递令牌。