我已经成功地创建在/控制器访问的报告/报告CakePHP的 - 使整个页面为HTML附加到电子邮件
我现在想创建一个单独的控制器方法来创建此报告为HTML文件,并通过电子邮件发送到指定用途。我已经做到了这一点,但碰到了一个障碍。当HTML文件被渲染时,它只是来自/ report方法的视图元素 - 布局(包括CSS)不会被渲染。
这里的基本结构:
public function email_report() {
$render = $this->requestAction('/controller/report');
//$render is then used by fwrite to create a .HTML file, which is then attached to an email
}
public function report() {
//yada yada
//render in report layout rather than default
$this->render('report', 'reports');
}
所以问题是,$仅渲染包含视图的东西,而不是东西从我的“报告”的布局。我需要做些什么才能在我的HTML文件中获得布局?
我可以把所有的HTML放在视图中,但我想在将来使用相同的布局创建其他报告,并希望避免重复。
您是否尝试过设置布局:$ this-> Layout ='default'; – Dave
我刚试过 - 它不起作用。 – gazareth
您是否使用EmailComponent? –