Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CakePHP 2.x模型中获取视图输出_Cakephp_Pdf Generation_Fpdf - Fatal编程技术网

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

在CakePHP 2.x模型中获取视图输出,cakephp,pdf-generation,fpdf,Cakephp,Pdf Generation,Fpdf,上下文:我正在模型回调(afterSave)中生成PDF。我找到了一个我很熟悉的图书馆,叫做FPDF。我正在添加FPDF类作为供应商 因此,在不涉及太多细节的情况下,本质上,一旦完成了特定合同应用程序的所有检查,应用程序需要预填充PDF文件并将其附加到电子邮件中 除了如何在模型中生成PDF之外,我可以解决所有问题。我想使用一个视图来传递视图变量,以便填充模板文件并使用FPDF类保存PDF文件 此文件将依次附加到自动电子邮件并发送给申请人 因此,流程是: 完成所有检查后(通过cron和CakePH

上下文:我正在模型回调(afterSave)中生成PDF。我找到了一个我很熟悉的图书馆,叫做FPDF。我正在添加FPDF类作为供应商

因此,在不涉及太多细节的情况下,本质上,一旦完成了特定合同应用程序的所有检查,应用程序需要预填充PDF文件并将其附加到电子邮件中

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

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

因此,流程是:

  • 完成所有检查后(通过cron和CakePHP Shell),我们将在模型afterSave回调中触发一个函数
  • 该功能执行一些逻辑,并确定是否应发送拒绝或批准的电子邮件
  • 如果批准,则使用视图文件生成PDF并保存在/Views/PDF中/
  • 此文件已附加到CakeEmail对象并发送
  • 这只是我一直坚持的视图渲染部分:

    3. If approved, then a PDF is generated using a view file and saved in /Views/pdf/
    
    如何使用视图变量填充视图文件并将结果返回到变量中

    例如,想想CakeEmail类是如何使用CakeEmail->template('example')函数实现的


    有什么想法吗?

    答案是手动构造视图类:

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

    这有点完美。谢谢