CakePHP 视图包括其他视图
我有一个CakePHP应用程序,它将在某个时刻显示一个视图,其中包含产品媒体(图片或视频),我想知道是否有某种方法可以包含另一个威胁视频或威胁图片的视图,具体取决于标志。我想将这些“小视图”用于其他几个目的,因此它应该“像”一个蛋糕组件,以便重新利用。
你们建议在蛋糕约定中使用什么(而不是使用原始命令)include('')
我有一个CakePHP应用程序,它将在某个时刻显示一个视图,其中包含产品媒体(图片或视频),我想知道是否有某种方法可以包含另一个威胁视频或威胁图片的视图,具体取决于标志。我想将这些“小视图”用于其他几个目的,因此它应该“像”一个蛋糕组件,以便重新利用。
你们建议在蛋糕约定中使用什么(而不是使用原始命令)include('')
为了获得此处的信息,以防有人偶然发现这一点,重要的是要注意解决方案因CakePHP版本而异。
$this->renderElement('display', array('flag' => 'value'));
在你的视图中,然后在你可以创建一个名为 的文件,其中将具有你传递给它的任何内容的值。/app/views/elements/
display.thtml
$flag
$this->element('display', array('flag' => 'value'));
在你的视图中,然后在你可以创建一个名为 的文件,其中将具有你传递给它的任何内容的值。/app/views/elements/
display.ctp
$flag
requestAction()
在控制器中(在本例中为 post 控制器)。
function something() {
return $this->Post->find('all');
}
在元素目录(app/views/element)中创建一个名为 posts.ctp 的文件。
在 posts.ctp 中:
$posts = $this->requestAction('posts/something');
foreach($posts as $post):
echo $post['Post']['title'];
endforeach;
然后在您的视图中:
<?php echo $this->element('posts'); ?>
这主要来自CakePHP的书:使用请求操作创建可重用元素
我确实相信使用requestAction非常昂贵,因此您将需要研究缓存。