【问题标题】:CakePHP Shell Cronjob TCPDFCakePHP Shell Cronjob TCPDF
【发布时间】:2014-05-31 08:05:06
【问题描述】:

我正在使用 CakePHP 2.4 和 TCPDF 来生成发票。

  • cronjob 每天检查是否生成新发票。

  • 当我通过浏览器访问该功能时,一切正常。

  • 当我通过 shell 访问函数时,我得到一个错误:

CronjobShell.php:

$cmsoptions = $this->Cmsoption->find('first');
$this->set(compact('data', 'cmsoptions'));
$this->layout = 'pdf';
$this->render(); 

“调用未定义的方法 CronjobShell::set()”

我了解 Set 选项正在解决问题。但是如何使用 Cronjob 生成 PDF?

【问题讨论】:

标签: php shell cakephp cron tcpdf


【解决方案1】:

问题是AppShell 默认不支持视图功能。所以就像在similar question 中一样,你必须添加以下内容:

App::uses('View', 'Core');

$view = new View();
$view->set(compact('data', 'cmsoptions'));
$view->layout = 'pdf';
$pdfContent = $view->render();

然后您可以在file_put_contents('/var/www/new_invoice.pdf', $pdfContent); 或类似的帮助下使用$pdfContent 作为PDF 文件的内容。

【讨论】:

  • 有效!我只需要指向正确的渲染文件:$view->render('Orders/add_orders'); 谢谢!
猜你喜欢
  • 2010-12-17
  • 1970-01-01
  • 2011-09-18
  • 2016-05-01
  • 2018-04-02
  • 2013-04-09
  • 2012-01-13
  • 2011-07-31
  • 2013-07-24
相关资源
最近更新 更多