0

我正在使用 CakePHP 1.3 和 TCPDF 打印 PDF 文件,使用print_pdf.ctp. 打印后,我无法将页面重定向到引荐来源网址。未达到控制器操作的注释部分。我该如何管理?

请注意,print_pdf()它链接到一个按钮。因此,用户加载一个页面,按下链接到print_pdf操作的“打印”按钮,并在单击此按钮时打印一个 PDF 文件。我想重定向的原因是该print_pdf操作更新了一些数据,并且需要刷新按钮所在的页面以反映此更新。

控制器:

// This action is linked to a button
function print_pdf() {
    ...    
    $this->layout = 'pdf'; //this will use the pdf.ctp layout
    $this->render();   

    // Line below are not executed
    ...
    $this->redirect($this->referer());
}
4

1 回答 1

0

我仍然不完全确定我理解你想要做什么。您正在尝试重定向到另一个页面以保存一些信息,然后立即向该人显示 PDF?

为什么不从 PDF 函数中运行保存您所做的任何操作:

// This action is linked to a button
function print_pdf() {
    ...
    //$this->redirect($this->referer());
    //Put whatever you were going to redirect to before the render.  Instead of  redirecting just run the thing as part of this function.
    ...    
    $this->layout = 'pdf'; //this will use the pdf.ctp layout
    // Line below are not executed
    $this->render();     
}

$this->render(); 应该逃离控制器并直接进入视图。你不能在它后面放任何东西。如果您想使用按钮对页面进行更改,您可以在渲染之前执行此操作。

于 2013-02-27T19:35:31.353 回答