获取CakePHP 2.x模型中的视图输出

时间:2014-05-19 21:24:34

标签: cakephp pdf-generation fpdf

背景信息:我在模型回调中生成PDF(afterSave)。我找到了一个名为FPDF的图书馆。我将FPDF类添加为供应商。

因此,在没有详细说明的情况下,基本上,一旦完成特定合同应用程序的所有检查,应用程序就需要预先填充PDF文件并将其附加到电子邮件中。

除了如何在模型中生成PDF之外,我可以解决所有问题。我想使用视图传递视图变量,以便我可以填充模板文件并使用FPDF类来保存PDF文件。

此文件将依次附加自动电子邮件并发送给申请人。

所以流程是:

  1. 一旦完成所有检查(通过crons和CakePHP Shell),我们会在模型中触发一个函数afterSave回调。
  2. 该功能执行一些逻辑并确定是否应发送拒绝或已批准的电子邮件。
  3. 如果获得批准,则使用视图文件生成PDF并保存在/ Views / pdf /
  4. 此文件附加到CakeEmail对象并发送。
  5. 这里只是视图呈现部分,我一直坚持:

    3. If approved, then a PDF is generated using a view file and saved in /Views/pdf/
    

    如何使用视图变量填充视图文件并将结果返回到变量?

    例如,想想CakeEmail类如何使用CakeEmail->模板('示例')函数......

    有什么想法吗?

1 个答案:

答案 0 :(得分:1)

答案是手动构建视图类:

$view = new View(null, false);
$view->set(compact('variable1', 'variable2'));
$view->viewPath = 'ViewFolder';
$output = $view->render('view_file', 'layout');