如何从控制器(cakePHP)调用视图文件


how to call a view file from controller(cakePHP)

我学习cakephp从几天…所以请帮忙,谢谢。

我做了一个控制器——

class PostController extends AppController {
var $name='Posts';
function index(){
    $posts=$this->Post->find('all');
    $this->set(compact('posts'));
}

视图中有带有索引的post文件夹。CTP文件。我想问它从哪里得到"CakePHP:快速开发php框架",从哪里获取内容。我从控制器发送这个数据,所以它只打印var_dump($posts);

cake php在"app/view/layout "文件夹中有默认的布局文件。默认文件名。此文件夹中的CTP将作为默认值。

如果你打开默认。在布局中,你会看到像

这样的内容
<h1><?php echo $this->Html->link($cakeDescription, 'http://cakephp.org'); ?></h1>

和其他链接定义…你可以在视图中添加注释并检查有什么变化。

这里是视图获取的地方"CakePHP:快速开发php框架"

这一行

<?php echo $this->fetch('content'); ?> 

从控制器中获取数据以显示我们在控制器

中使用$this->set()设置的视图

如果你想改变布局,创建你自己的布局文件夹然后在控制器中使用

class PostController extends AppController {
var $name='Posts';
function index(){
$posts=$this->Post->find('all');
$this->set(compact('posts'));
$this->layout = false; // ot you can set ypur own file like 'xyz' for 'xyz.ctp'
}

设置控制器中每个动作的布局,使用

 function beforeFilter() {
    parent::beforeFilter();
    $this->layout = 'layout';
 }

要了解更多关于布局的信息,请参阅http://book.cakephp.org/2.0/en/views.html#layouts

希望你得到我

"CakePHP:快速开发php框架"

查看上面的views -> layout -> default.ctp文件。

也改变默认的cakephp routing,所以你可以看到的帖子索引行动,当你有文章在URL

从控制器调用布局的最好方法是

$this->layout = 'Your layout page name';