cakephp - CakePHP 布局模板覆盖视图模板
问题描述
我已经安装了 CakePHP 3.8 并且我的布局模板 (/src/Template/Layout/default.ctp) 完全覆盖了我的控制器视图 (src/Template/Users/login.ctp)。
我在两个文件的开头/结尾都有 echo'd & die()'d,所以我知道它们被调用/渲染,但是一旦调用/渲染 default.ctp,login.ctp 就消失了。
我认为这是一个路由问题,但我不确定。我是安装/设置 CakePHP 的新手。任何帮助将不胜感激。
解决方案
欢迎来到 StackOverflow。我猜你误解了 CakePHP 模板的功能。
布局文件应该覆盖视图文件。在 CakePHP 中,当视图首先呈现时,布局被呈现,在该布局中,视图嵌入在您使用 $this->fetch('content'); 的位置。
这就是为什么所有动态内容都放在视图文件中,而公共内容(如标题)和所有内容都放在布局中的原因。
我希望你明白我的意思。
如果您仍有任何疑问,请随时提问。我很乐意提供帮助。
推荐阅读
- mysql - phpMyAdmin 中 MySQL PASSWORD() 的结果与 MySQL CLI 中 PASSWORD() 的结果不同
- php - Laravel:计划命令执行:并行还是顺序?
- swift - 占据屏幕一半的tabView
- graphviz - 如何理解 graphviz 点边和节点行为?
- r - Rssa中的gapfill给我错误
- pointers - 如何将接口实现指针转换为接口指针?
- c# - C#:FileStream.SetLength(long) 失败,并显示“由于文件系统限制,无法完成请求的操作”(在 Windows 10 Home、NTFS 上)
- android - Android Studio 3.1 - 插件 Android Support 中的异常。自上次清除以来发生 2 次。未读。禁用插件
- r - 根据字符值将数据帧拆分为子集
- symfony - 使用教义:数据库:创建时,如何创建具有特定追逐和排序规则的数据库?