【问题标题】:How to use default.ctp in cakephp如何在 cakephp 中使用 default.ctp
【发布时间】:2010-06-16 14:02:02
【问题描述】:

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

但是,我对 MVC 编程/Cakephp 还很陌生,我不知道该怎么做。好吧,我知道我需要将“default.ctp”放在 app/views/layouts/ 中,我想我需要包括 包括我的数据? . . .

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

我想如果有人能指出我正确的方向来了解布局样式的初学者指南或如何使用它,我将不胜感激。

【问题讨论】:

  • 您的问题涉及到 Cake 的一些非常非常基本的基础知识。您的布局主要用于结构; $content_for_layout 是使用视图内容设置的变量,然后放置在布局中。您的默认布局(如果您不创建)是从蛋糕库中插入的;一旦您将一个添加到views/layouts/default.ctp,将使用那个而不是库布局默认值。如果你在这些东西上苦苦挣扎,你真的需要多看这本书。
  • 请选择一个答案将您的问题标记为已回答!

标签: cakephp


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    1. 在 app/View/Layout 中创建一个名为“my_posts_layout.ctp”的文件

    2. 在您的 PostController 中设置 $this->layout = 'my_posts_layout';

    这样您应该可以查看 my_posts_layout.ctp 中定义的内容。

    【讨论】:

    • CakePHP 2.6.0,将此行放在特定方法的末尾(在控制器类中):$this->render('my_posts_layout');
    【解决方案3】:

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

    MVC 在 CakePHP 中的工作原理:

    • 路由器将传入请求分派给适当的控制器。

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

    • 渲染了适当的视图。实际上,视图的输出只是包含在 $content_for_layout 中。

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

    【讨论】:

    • 谢谢大家。我很快就让它工作了。事实证明,Coda 被设置为隐藏扩展名,所以当我将文件保存为 default.ctp 时,它会自动尝试将其保存为 default.ctp.ctp(我之前遇到过这个问题,Coda 喜欢重置这在我身上)。 @Travis Leleu,谢谢!是的,我经常重读这本书。我感谢我可能会切换到另一个编辑器来使用我的 cakephp,以避免将来出现这些问题。
    【解决方案4】:

    我真的推荐 CakePHP CookBook,很容易从 CakePHP 主页找到。修改 default.ctp 应该会修改您的应用程序布局。

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

    【讨论】:

    • 啊,是的,对不起。好吧,我认为您熟悉 15 分钟的博客文章教程。我被要求完成上述教程并为上述教程创建类别,这给我留下了 localhost:9999/posts 和 localhost:9999/ 类别(都有自己的控制器、视图等)。所以在食谱,我发现他们在谈论如何通过将 添加到 default.ctp 来使用布局结构。但是,它似乎并没有改变任何东西.. 你知道如何为此添加样式吗?
    • 您需要编辑默认的 CSS 文件。在我相信的“webroot”目录中,至少我认为这是我最后一次使用 CakePHP(很长一段时间)......
    猜你喜欢
    • 2015-11-13
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    相关资源
    最近更新 更多