2012-08-31 57 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的任何內容,但是如果你不打印它,它保存的圖片不會顯示! –