首页 > 解决方案 > CakePHP 布局模板覆盖视图模板

问题描述

我已经安装了 CakePHP 3.8 并且我的布局模板 (/src/Template/Layout/default.ctp) 完全覆盖了我的控制器视图 (src/Template/Users/login.ctp)。

我在两个文件的开头/结尾都有 echo'd & die()'d,所以我知道它们被调用/渲染,但是一旦调用/渲染 default.ctp,login.ctp 就消失了。

我认为这是一个路由问题,但我不确定。我是安装/设置 CakePHP 的新手。任何帮助将不胜感激。

标签: cakephpcakephp-3.0cakephp-routing

解决方案


欢迎来到 StackOverflow。我猜你误解了 CakePHP 模板的功能。

布局文件应该覆盖视图文件。在 CakePHP 中,当视图首先呈现时,布局被呈现,在该布局中,视图嵌入在您使用 $this->fetch('content'); 的位置。

这就是为什么所有动态内容都放在视图文件中,而公共内容(如标题)和所有内容都放在布局中的原因。

我希望你明白我的意思。

如果您仍有任何疑问,请随时提问。我很乐意提供帮助。


推荐阅读