【问题标题】:Get View Output In CakePHP 2.x Model在 CakePHP 2.x 模型中获取视图输出
【发布时间】:2014-05-19 21:24:33
【问题描述】:

上下文:我在模型回调(afterSave)中生成 PDF。我找到了一个我喜欢的名为 FPDF 的库。我将 FPDF 类添加为供应商。

因此,无需过多详细说明,本质上,一旦完成特定合同申请的所有检查,应用程序需要预填充 PDF 文件并将其附加到电子邮件中。

除了如何在模型中生成 PDF 之外,我什么都能搞清楚。我想使用视图来传递视图变量,以便我可以填充模板文件并使用 FPDF 类来保存 PDF 文件。

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

所以流程是:

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

这只是我卡住的视图渲染部分:

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

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

例如,想想 CakeEmail 类是如何用 CakeEmail->template('example') 函数来做的......

有什么想法吗?

【问题讨论】:

    标签: cakephp pdf-generation fpdf


    【解决方案1】:

    答案是手动构造你的视图类:

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

    【讨论】:

    • 这有点完美。谢谢!
    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多