如何在蛋糕PHP中的单个视图中渲染2个视图,
我试过以下,
在view / test / index.ctp中,
echo $ this-> render('/ page1 / index');
echo $ this-> render('/ page2 / index');
我的观点/ page1 / index.ctp,
回显“来自page1的内容”;
我的观点/ page2 / index.ctp,
回显“来自page2的内容”;
我期待输出为,
我的内容来自page1我的内容来自page2
但我从第1页开始收到我的内容
请建议我如何实现这一点。
答案 0 :(得分:1)
(只是添加一个答案,所以这个问题显示为已回答,即使它已在评论中得到有效回答)
正如其他人在评论中提到的那样,您只能从控制器渲染一个视图。您需要使用elements。元素是可重复使用的视图片段。
如果你有一个名为my_view.ctp
的视图文件,你可以添加以下代码,包含两个名为'hello_world'和'name_details'的元素:
$this->element('hello_world'); // <= element with no parameters
// example passing parameters to the element
$this->element('name_details', array('first' => 'John', 'last' => 'smith'));
您的元素文件将放在app/views/elements
中,并将被称为hello_world.ctp
和name_details.ctp
。您传入的参数将作为变量提供,因此name_details.ctp
可能如下所示:
First Name: <?php echo $first; ?>
<br />
Last Name: <?php echo $last; ?>
另请注意,控制器中设置的视图变量将自动在元素中可用。