在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进行回显,并获得缺少的帮助程序错误。它说找不到助手。
答案 0 :(得分:0)
您无需使用const tableau = new Vue({
components:{tableau:Tableau
}
}).$mount('#tableau');
,可以在视图上使用$this->variable_name
直接访问它们
根据variable_name
文档:
您可以使用Cakephp
Email::setViewViars():
在您的电子邮件模板中,您可以将它们用于:
$email = new Email('templated');
$email->setViewVars(['value' => 12345]);