我可以使用swiftmailer扩展程序发送邮件。我也可以在@ app / mail文件夹中包含视图文件。
现在我想知道如何为我的模型视图包含数据,例如说我有一个Model City.php和相关视图作为view.php或index.php(grid-view)我如何包含渲染的数据在view.php(单个记录)或邮件正文中的index.php中的表数据。
简而言之,我想在视图中包含yii2中呈现的默认数据或邮件正文中的索引。
嗨,我看过这个例子,比如 - Yii::$app->mailer->compose('viewName', ['variable' => $variable])
另一个例子 - Yii::$app->mailer->compose('contact/html', ['contactForm' => $form])
我尝试过这样做没有取得多大成功:
Yii::$app->mailer->compose('medicine-request-entry/html',['medicine_request_entry'=>$form])
但是我得到错误未定义的变量形式。 medicie_request_entry
是views文件夹中的文件夹。(不在@ app / views中)
但无法得到它。假设我在/ mail /子文件夹中的视图名称是report.php,我的视图中有一个文件夹subfoler / city /和city文件夹中有view.php和index.php我如何在示例中的参数中指定它代码。
任何建议都将不胜感激。
感谢。
答案 0 :(得分:8)
好的,我找到了解决方案并为有困难的人提供答案
我修改了控制器中的代码,如:
Yii::$app->mailer->compose('@app/views/medicine-request-entry/view',['model'=>$model])
但我仍然没有得到,如何使用@app/mail
中给出的布局或将邮件作为html发送。
感谢。
答案 1 :(得分:0)
\Yii::$app->mailer->htmlLayout = "@app/mail/layouts/html";
$message = Yii::$app->mailer->compose('@app/mail/welcome');
var_dump($message);