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