2

我从几天开始学习 cakephp ......所以请帮忙一点,谢谢。

我做了一个控制器——

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

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

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

}

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

4

3 回答 3

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->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

希望你得到我

于 2013-03-23T05:10:23.783 回答
0

《CakePHP:快速开发的php框架》

对于上面看里面的views -> layout -> default.ctp文件。

还要更改默认值cakephp routing,以便在 URL 中有帖子时可以看到帖子索引操作。

于 2013-03-23T05:01:31.400 回答
0

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

$this->layout = 'Your layout page name';
于 2014-10-09T08:44:51.850 回答