【发布时间】:2017-02-27 05:38:08
【问题描述】:
我已经升级到 Cakephp 3.4,现在正在做我的代码迁移。我将电子邮件功能修改为以下内容:
$email->setTemplate('welcome', 'registration')
->setSubject($subject)
->setEmailFormat('html')
->setTo($toEmail)
->setFrom($fromEmail)
->send();
但是发送的电子邮件没有任何模板。但是,如果我将其改回
$email->template('welcome', 'registration')
然后电子邮件再次使用模板发送。 setTemplate() 函数似乎对我不起作用。谁能帮我弄清楚我错过了什么。
编辑: html文件位于 src/模板/电子邮件/html/welcome.ctp 布局位于 src/Template/Layout/Email/html/registration.ctp
【问题讨论】:
-
模板的位置是否正确?它在哪里?
-
setTemplate()方法不接受第二个参数,布局通过setLayout()设置。 -
非常感谢您的回复。 @ndm:我尝试根据您的建议使用 setLayout() 设置布局并且它正在工作。但是,文档的Sending Templated Emails 部分使用示例
$email->setTemplate('welcome', 'fancy')描述了使用布局。我们已使用上述格式在整个应用程序中设置电子邮件布局。我想在进行全部更改之前确认这一点。谢谢 -
那些食谱示例绝对不正确。
标签: cakephp-3.4