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