我从几天开始学习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);
...提前谢谢。
答案 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';