将相同的信息发送到cakePHP的不同视图

时间:2012-02-13 03:34:17

标签: php cakephp cakephp-1.3

我在这里遇到了与cakePHP有关的问题。我有4个.ctp视图页面,我想从我的控制器发送信息。这些不是静态页面,它们实际上是具有用户表单的动态页面,用户可以在其中输入信息。我有一种情况,我必须将相同的数组发送到4个不同的视图(因为每个视图的一部分需要该数组显示相同的信息,按顺序,我想在4个不同的视图上显示相同的信息)。我知道通常我应该为每个控制器操作提供1个视图,但这次我不想为每个视图创建4个类似的操作(因为就像我说的,我正在做的就是发送一个数组到我的4个视图文件中的每一个)。如何在没有在我的控制器中为我的4个视图文件创建4个重复操作的情况下执行此操作。我希望我在这里做的很清楚。

谢谢

1 个答案:

答案 0 :(得分:2)

您只需在控制器中使用一个操作,并根据某些逻辑render使用不同的视图:

public function my_action() {
    $this->set('myVar1', ...);
    $this->set('myVar2', ...);
    $this->set('myVar3', ...);

    if (/* something */) {
        $this->render('foo'); // renders my_controller/foo.ctp
    } else if (/* or other */) {
        $this->render('bar');
    } ...
}