2014-12-02 59 views
0

我一直在閱讀,直到我的眼睛腫脹,並有麻煩發現什麼應該是一個簡單的答案。創建視圖(cakePHP noob)

我不是PHP的新手,但我是CakePHP的新手。請耐心支持我,並耐心對我對術語缺乏瞭解的無知。

我被要求幫助在CakePHP開發的網站上進行一些修復,這是最近創建的。

該網站缺失「http://domain.com/logout」的網頁。我可以看到我需要在UserController中訪問的函數,但我不確定在哪裏放置.ctp文件來生成視圖。

讓我們只是說我想logout.ctl文件是簡單的: echo「Hello World」;

在我的應用程序/查看文件夾下我有子文件夾主頁,&我試圖將此文件放入的用戶。我假設我還必須做其他的事情,但我一直無法找到那是什麼。

任何幫助表示讚賞。謝謝閱讀!

回答

1

1.默認情況下,您應該通過創建Views/Controller/action.ctp將視圖和控制器鏈接在一起。

由於url通過路由鏈接到Controller,因此視圖不直接與其關聯。

例如,如果您已設置

Router::connect('/logout/', array('controller' => 'User', 'action' => 'logout')); 

,那麼你可能想創建視圖/用戶/ logout.ctp。

如果已設置

Router::connect('/logout/', array('controller' => 'Home', 'action' => 'logout')); 

,那麼你可能要創建視圖/主頁/ logout.ctp。

2.You可以$this->view='sample'$this->render('sample');改變你的行爲的觀點,然後創建名稱sample.ctp視圖文件。

3.您還可以用$this->render('/Sample/logout');閱讀另一個文件夾的視圖。 參考:http://book.cakephp.org/2.0/en/controllers.html

4.如果您使用主題$this->theme = 'Example';,默認視圖文件將被設置爲/app/View/Themed/Example/Posts/edit.ctp。 參考:http://book.cakephp.org/2.0/en/views/themes.html

5.我認爲cakephp視圖文件的默認擴展名是.ctp,但不是.ctl。 Microsoft Visual Studio使用.ctl?我不太確定。

+0

看起來像我唯一缺少的是實際的路徑應該是/用戶/註銷不只是/註銷... ARGH! – Thomas 2014-12-02 08:57:03

+0

這仍然只是讓我的行動,這在那種情況下罰款。在另一個問題後面,我仍然需要訪問一個新的視圖,所以我仍然需要解決這個問題。我在UserController中發佈了一個數組$ this-> Security-> unlockedActions,列出了所有的視圖。我在那裏添加了我的頁面。 – Thomas 2014-12-02 11:03:33

+0

您可以使用方法3(通過調用$ this-> render *('/ sample/sample')來設置您在動作中讀取的視圖。基本上你可以把你的視圖文件放在你想要的任何地方並使用這個技巧。 – kyo 2014-12-02 12:08:05