【发布时间】:2019-08-23 14:12:07
【问题描述】:
在 cake php 3.6 框架中,我正在尝试设置电子邮件模板。
问题在于 setViewVars 没有将变量传递给视图。未定义变量:将视图呈现给所有 setViewVars 键时会触发名称。
$this->layout = '/email/html/default';
$enviar = 'Formulário de Franchising: ' . $name . '. Com o Email: ' . $email_add;
$emails = array('andre@dri.pt');
$email = new Email('default');
$email->from([$email_add => $email_add])
->template('default')
->emailFormat('html')
->setViewVars(['name' => $name,
'email' => $email_add,
'phone' => $phone,
'company' => $company,
$emailcheck,
$smscheck,
'message' => $data['message']
])
->to($emails)
->subject('Subscrição Formulário.')
->send($enviar);
$this->Flash->success(__('Formulário Enviado. Obrigado!'));
return $this->render('/email/html/default');
无法解决问题。调试控制器端的所有变量,它们具有正确的值。
编辑: 在视图中,我尝试使用 $this->variable_name 进行回显并得到一个缺少帮助程序的错误。它说找不到助手。
【问题讨论】:
-
视图变量不是属性,而只是常规变量,即您可以像
$variableName那样访问它们,而不是像$this->variableName那样访问它们。
标签: php email cakephp cakephp-3.0