如何在电子邮件模板中传递对象数据? 对象数据:
object(App\Model\Entity\NewsletterTemplate) {
'id' => (int) 1,
'title' => 'Newsletter 1',
'publish' => '21.04.2016',
'box_title1' => 'Aenean id erat ut leo semper viverra',
'box_text1' => 'Integer eu orci viverra',
...
}
电子邮件功能:
private function _send_mail($data,$user,$sender)
{
$email = new Email('default');
$email->template('newsletter_template','newsletter_body')
->emailFormat('html')
->subject('Newsletter')
->to($user)
->from([$sender => 'Some Name'])
->viewVars($data)
->send();
}
我试过了,但它不起作用(电子邮件模板 newsletter_template.ctp):
...
<td class="mcnTextContent mcnTextContentLeft" style="padding-top:0; padding-left:18px; padding-bottom:9px; padding-right:18px;" valign="top">
<?php echo $title; ?>, <?php echo $publish; ?>
...
</td>
最佳答案
作为manual报告
您可以通过这种方式设置电子邮件 View 变量:
$email->viewVars([
'title' => $title,
'publish' => $publish
]);
当然你也可以使用这个方法传递整个实体
关于email - CakePHP 3 - 如何在电子邮件模板中传递对象数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36787890/