很抱歉,如果这是一个愚蠢的问题,但我正在创建一个过滤器类,监视事件并生成这些事件的电子邮件。我的一个要求是它向电子邮件添加一个数据表。 两个相关的问题。
1 - 是否可以从过滤器中的函数调用$this->widget('zii::widgets.grid.CGridView, array());
。
2 - 是否可以将小部件的结果发送到要包含在电子邮件正文中的变量?
如果无法做到这一点,我将开始导出到可以附加到电子邮件的Excel文件。
答案 0 :(得分:2)
你说错了。无论你身在何处,都需要一个控制器。
因此,您必须创建并实例化一个控制器,以便能够在其上调用renderPartial。所以我要做的是将所有外观放入EmailController并简单地初始化并使用renderPartial,last参数来返回输出。
我们使用了PHPMailer,这一行看起来像这样:
$mail->Body = CController::renderInternal(Yii::app()->basePath . '/views/email/email_report.php', array('arrData' => $arrData), true);
我们事件'没有EmailController。 (以上代码是从控制台应用程序调用的。)