你可以从过滤器类调用一个小部件吗?

时间:2012-06-19 17:07:31

标签: php yii

很抱歉,如果这是一个愚蠢的问题,但我正在创建一个过滤器类,监视事件并生成这些事件的电子邮件。我的一个要求是它向电子邮件添加一个数据表。 两个相关的问题。

1 - 是否可以从过滤器中的函数调用$this->widget('zii::widgets.grid.CGridView, array());

2 - 是否可以将小部件的结果发送到要包含在电子邮件正文中的变量?

如果无法做到这一点,我将开始导出到可以附加到电子邮件的Excel文件。

1 个答案:

答案 0 :(得分:2)

你说错了。无论你身在何处,都需要一个控制器。

因此,您必须创建并实例化一个控制器,以便能够在其上调用renderPartial。所以我要做的是将所有外观放入EmailController并简单地初始化并使用renderPartial,last参数来返回输出。

我们使用了PHPMailer,这一行看起来像这样:

$mail->Body = CController::renderInternal(Yii::app()->basePath . '/views/email/email_report.php', array('arrData' => $arrData), true);

我们事件'没有EmailController。 (以上代码是从控制台应用程序调用的。)