我想发送最新的招标列表给我的订阅者。视图位于common/mail/layout下,视图名称为tenderlist.php
。我在前端有控制器,称为SiteController,我在Site文件夹下有视图,名称为tenderlist.php
。这里的代码工作正常,并给出招标列表,现在我想使用swiftmailer
向多个用户发送招标,结果,我复制这页tenderlist.php
到邮件/布局文件夹.这电子邮件配置是正确的,但我不能发送这tenderlist给用户
如果tenderlist.php
是纯html代码,即静态数据,则此操作工作正常并发送到电子邮件。
Yii::$app->mailer->compose(['html' => 'layouts/tenderlist'])
但如果投标列表查询来自数据库,则会出现错误:这是tenderlist.php
的视图代码
//查看邮件/layouts下的tenderlist.php页面
<?php foreach ($etender as $post): ?>
<div class="panel panel-default">
<a href="detail?id=<?=html::encode($post['id'])?> "> <?=html::encode($post['bidtitle'])?> </a> </div>
<?php endforeach; ?>
//在我的网站控制器actionTenderlist()中
return $this->render('@common/mail/layout/tenderlist', [
'etender'=>$tenders, ]);
//当我运行这个时,它给出错误
Undefined variable: etender
1条答案
按热度按时间eit6fx6z1#
首先你需要做什么:高级Yii 2 app,
common/config/main-local.php
:您的发送邮件功能:
希望能有所帮助。
在将数据传递给邮件模板之前,还要确保你访问了数据(或者你检查了数据是否存在)。如果有任何错误发生,还要检查你的'frontend/runtime/log/app.log'。
感谢穆罕默德·奥默阿斯拉姆