如何在cakephp中使用default.ctp

如何在cakephp中使用default.ctp,cakephp,Cakephp,我刚刚完成cakephp文档中包含的“15分钟博客文章教程”。我被要求提供另一个教程来更改第一个教程的布局 然而,我对MVC编程/Cakephp相当陌生,我不知道如何做到这一点。嗯,我知道我需要在app/views/layouts/中放置“default.ctp”,我想我需要包括 包括我的数据吗 我真不知该怎么办。如上所述,我设置了default.ctp,但是当我转到localhost:9999/posts时,布局仍然是一样的。我想我需要包括一个样式表(如果是,在哪里?) 我想,如果有人能给我指

我刚刚完成cakephp文档中包含的“15分钟博客文章教程”。我被要求提供另一个教程来更改第一个教程的布局

然而,我对MVC编程/Cakephp相当陌生,我不知道如何做到这一点。嗯,我知道我需要在app/views/layouts/中放置“default.ctp”,我想我需要包括 包括我的数据吗

我真不知该怎么办。如上所述,我设置了default.ctp,但是当我转到localhost:9999/posts时,布局仍然是一样的。我想我需要包括一个样式表(如果是,在哪里?)


我想,如果有人能给我指出一个正确的方向,指导我如何使用布局样式,我会非常感激任何帮助。

我真的推荐CakePHP食谱,很容易从CakePHP主页上找到。修改default.ctp应编辑应用程序布局


一个更具体的问题(例如default.ctp的代码示例、预期结果等)可能会帮助人们提供比我更好的答案。

缺少样式表在这里没有影响

MVC如何在CakePHP中工作:

  • 路由器向适当的控制器发送传入请求

  • 执行相应的控制器函数(无输出,仅获取数据,设置变量)

  • 将渲染相应的视图。事实上,视图的输出只包含在$content\u for\u布局中

  • 你在浏览器中真正得到的是布局。因此,您可以通过default.ctp中的
    echo$content\u for\u layout
    将视图的输出放入布局中。(当然,您也可以有不同的布局。)此外,还可以使用元素增强布局


我建议您阅读烹饪书中的以下内容:和。然后将布局从
/cake/libs/view/layouts/
复制到
/app/views/layouts/
,并根据您的需要进行修改。然后在
/app/webroot/css/
中创建样式表(或修改现有样式表),并将其包含在布局中

  • 在app/View/Layout中创建一个名为“my\u posts\u Layout.ctp”的文件

  • 在您的PostController中设置$this->layout='my_posts_layout'


  • 这样您就可以查看我的帖子布局.ctp上定义的内容。

    啊,是的,我很抱歉。我想你已经熟悉了15分钟的博客文章教程了。我被要求完成上述教程,并为上述教程创建类别,这让我有localhost:9999/帖子和localhost:9999/类别(都有自己的控制器、视图等)。。因此,在烹饪书中,我找到了他们讨论如何通过添加default.ctp来使用布局结构的地方。然而,它似乎没有改变任何事情。。你知道如何添加样式吗?你需要编辑默认的CSS文件。在“webroot”目录中,至少我认为这是我最后一次使用CakePHP(相当长一段时间了)…你的问题涉及到蛋糕的一些非常基本的基础知识。你的布局主要是为了结构$content_for_layout是与视图内容一起设置的变量,然后放置在布局中。您的默认布局(如果您没有创建)是从蛋糕库插入的;将一个添加到views/layouts/default.ctp后,将使用该视图,而不是库布局默认值。如果你正在努力解决这些问题,你真的需要多看看这本书。请选择一个答案,将你的问题标记为已回答!谢谢各位。我很快就把它修好了。事实证明,Coda被设置为隐藏扩展名,所以当我将文件保存为default.ctp时,它会自动尝试将其保存为default.ctp.ctp(我以前遇到过这个问题,Coda喜欢在我身上重置)@Travis Leleu,谢谢!是的,我经常重读这本书。我感谢我可能会切换到另一个编辑器来使用cakephp,以避免将来出现这些问题。请尝试Eclipse PDT cakephp 2.6.0,将这一行放在特定方法的末尾(在控制器类中):
    $this->render('my_posts_layout')