0

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

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

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

如果这不可能,我将开始导出到可以附加到电子邮件的 Excel 文件。

4

1 回答 1

2

你把这个弄错了。不管你在哪里,要渲染你需要一个控制器。

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

我们使用了 PHPMailer,该行如下所示:

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

我们事件'没有电子邮件控制器。(上面的代码是从控制台应用程序调用的)。

于 2012-06-19T17:16:44.187 回答