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
?我不太確定。
來源
2014-12-02 08:07:25
kyo
看起來像我唯一缺少的是實際的路徑應該是/用戶/註銷不只是/註銷... ARGH! – Thomas 2014-12-02 08:57:03
這仍然只是讓我的行動,這在那種情況下罰款。在另一個問題後面,我仍然需要訪問一個新的視圖,所以我仍然需要解決這個問題。我在UserController中發佈了一個數組$ this-> Security-> unlockedActions,列出了所有的視圖。我在那裏添加了我的頁面。 – Thomas 2014-12-02 11:03:33
您可以使用方法3(通過調用$ this-> render *('/ sample/sample')來設置您在動作中讀取的視圖。基本上你可以把你的視圖文件放在你想要的任何地方並使用這個技巧。 – kyo 2014-12-02 12:08:05