2012-02-13 58 views
0

我在这里有一个问题cakePHP。我有4个.ctp视图页,我想从我的控制器发送信息。这些不是静态页面,它们实际上是具有用户表单的动态页面,用户可以在其中输入信息。我有一种情况,我必须将相同的数组发送到4个不同的视图(因为每个视图的一部分需要该数组来显示相同​​的信息,换句话说,我想在4个不同的视图上显示相同的信息)。我知道通常我应该每个控制器操作有1个视图,但是这次我不想为每个视图创建4个类似的操作(因为就像我所说的,我所做的只是将数组发送到我的4个视图文件中的每一个)。我如何去做,而不是在我的控制器中为我的4个视图文件创建4个重复动作。我希望这已经足够清楚我在这里要做的事情。发送相同的信息到不同的意见cakePHP

谢谢

+0

你会如何来显示这些观点?这是行动相同的情况,但是基于某些变量,应该使用稍微改变的视图?还是行为完全不同,但意见有一些共同点? – deceze 2012-02-13 04:01:32

+0

动作完全相同,视图不同。基本上,我发送相同的数组,这将显示在每个视图的不同部分 – user765368 2012-02-13 04:11:37

+0

如果我得到你的权利,可能是你应该看到这个链接http://book.cakephp.org/1.3/view/1081/Elements – Ehtesham 2012-02-13 07:03:06

回答

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'); 
    } ... 
}