CakePHP:使用来自控制器内另一个动作的参数调用动作

时间:2013-06-25 15:33:17

标签: cakephp cakephp-1.3

我有一个动作,print_pdf()可以打印PDF,我想保留此动作及其视图仅用于打印PDF,因为为此动作呈现的内容是在PDF文件中打印的内容。因此,我创建了一个操作,通过操作bleh()创建用于打印文档的用户界面。

public function bleh() {
     $this->print_pdf($arg);   // this doesn't work
}


public function print_pdf($arg) {
     $this->render();
}

但是,由于print_pdf()是一项操作,因此需要../controller/print>pdf/arg形式才能正确执行操作。是否有其他方法可以在不使用requestActionredirect的情况下完成此操作?

1 个答案:

答案 0 :(得分:0)

嗯,看起来bleh()中的表单提交数据仍然存在于print_pdf()中,因此看起来我不需要将参数传递给print_pdf()

public function bleh() {
     // form submission is made

     $this->print_pdf();   // no argument
}

public function print_pdf() {

    if (check form submission) {
        $arg = $this->data[previous_form_data];

        // some stuff

        $this->render();
    }
}

这很有效,但我仍然想知道是否有类似于我原来的方法。