CakePHP 1.3を使用すると、メソッドsingle_invoice($ customer_id)を持つ既存のInvoicesControllerがあり、通常の使用ですべてうまく機能します。ただし、ケーキシェルを使用して同じことを行い、cronジョブとしてビルドしたいと思います。
シェルを作成しましたが、cronジョブとして実行されるので、問題はありません。問題は、cronjobからビューをレンダリングできないことです。基本的に、これが私がこれまでに持っているものです:
class InvoiceCreationShell extends Shell {
var $uses = array('Institution');
function main()
{
$institutions = $this->Institution->find('all');
foreach ($institutions as $institution)
{
App::import('Core', 'Controller');
App::import('Controller', 'Invoices');
$Invoices = new InvoicesController;
$Invoices->constructClasses();
$invoice = $Invoices->single_invoice();
$pdf = create_pdf($invoice);
file_put_contents($pdf);
}
}
}
レンダリングされたビューのコンテンツが$invoiceパラメーターを介して返されるようにしたいと思います。