2012-08-31 23 views
0

我对CakePHP还是有点新意,但我知道对它的工作原理有一个很好的基本理解,然而ai已经找到了一些我只是似乎无法找到答案。CakePHP:内容/数据来自什么时候使用 - >内容对于布局

我一直在寻找一个,但我仍然在迷路。

CakePHP从调用$ content_for_layout时获取数据。

我接管了一个项目从别人,它被设置在多个页面上,但我似乎无法找到任何内容的应用程序文件夹。我搜索了所有的控制器,唯一的地方,我发现它是在视图中的屏幕上回显文件时,他们自己的。

请帮助

回答

1

$content_for_layout从电流控制器/动作的特定视图文件填充。查看app/views文件夹(CakePHP 2的app/View),您将看到与控制器直接相关的文件夹列表,然后在其中每个文件夹中包含一组与控制器操作相关的.ctp文件。

默认的URL结构/controller/action/params这里有几个例子:

URL: /products/view/12 
View file: `app/views/products/view.ctp` 

URL: /users/index 
View file: `app/views/users/index.ctp` 

Sometimes there is a prefix (for admin areas and such, this goes at the start of the URL like so: 
URL: /admin/products/edit/12 
View file: `app/views/products/admin_edit.ctp` 

希望这有助于。您的网址结构可能已被路由所改变,在这种情况下,请跳至config/routes.php以了解所调用的控制器/操作以及视图文件的内容。如果你有更多的CakePHP问题,请阅读MVC sections of the book(只要确保使用正确的版本)。

+0

是的我确实知道,但我仍然不明白,当视图文件显示在视图文件中时,视图文件如何填充某些内容(content_for_layout)。我无论如何都没有控制器来处理视图文件,它只是一个基于用户代理加载的视图。一个新的视图文件在看到iphone使用时加载,但处理该文件的控制器没有在其中列出的任何content_for_layout。 –

+0

好的,你正在看的是一个* layout *,'$ content_for_layout'由CakePHP核心的视图文件填充,你不需要担心核心中发生了什么。 – Dunhamzzz

+0

是的,我明白了!但是我没有得到这个设置,我在应用程序本身中找不到关于他在哪里定义content_for_layout的任何内容,但是如果你不打印它,它保存的图片不会显示! –