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

时间:2013-03-23 04:58:14

标签: php cakephp cakephp-2.1

我从几天开始学习cakephp ...所以请帮助一下谢谢。

我做了一个控制器 -

class PostController extends AppController {
var $name='Posts';

function index(){
    $posts=$this->Post->find('all');

    $this->set(compact('posts'));

}

在视图中有post.ctp文件的post文件夹。我想询问它从哪里获得“CakePHP:快速开发php框架”以及从哪里获取内容。我从控制器发送这些数据,所以它只打印var_dump($posts); ...提前谢谢。

3 个答案:

答案 0 :(得分:2)

cake php在文件夹“app / view / Layout”中有默认布局文件。此文件夹中的文件名default.ctp将被视为默认值。

如果你在布局中打开default.ctp,你会看到类似

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

和其他链接定义..您可以评论并查看您在视图中看到的更改。

这里是视图获取“”CakePHP:快速开发php框架“

这一行

<?php echo $this->fetch('content'); ?> 
布局中的

从控制器中获取数据以在视图中显示我们使用$ this-&gt;控制器中的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

希望你能帮助我

答案 1 :(得分:0)

“CakePHP:快速开发php框架”

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

同时更改默认cakephp routing,以便在网址中有帖子时可以查看帖子索引操作。

答案 2 :(得分:0)

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

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