如何在 cakephp 中为不同的模型设置不同的布局

Posted

技术标签:

【中文标题】如何在 cakephp 中为不同的模型设置不同的布局【英文标题】:how to have a different layout for a different model in cakephp 【发布时间】:2012-05-11 02:42:49 【问题描述】:

我有这个模型“评论”,带有控制器“评论控制器”和不同的视图,用于在 default.ctp 布局上查看的“添加”、“编辑”、“删除”功能。但我想创建另一个模型,它是一个带有“LogInController”控制器和不同视图进行验证的“登录”模型。我当然希望在另一个布局上查看它,该布局将是登录面板的界面。但是我怎样才能为此创建另一个布局呢?每当我在视图中查看此日志时,它总是出现在 default.ctp 布局中。

【问题讨论】:

在发布类似这样的琐碎问题之前,请确保检查 Cakephp 的文档。 book.cakephp.org/2.0/en/views.html#layouts 【参考方案1】:

在您的 logins_controller.php 中,指定不同的布局:

class LoginsController extends AppController 
   var $layout = 'login';

然后为您的login.ctp html 等创建APP/View/Layouts/login.ctp

【讨论】:

说得很快,说得很好。谢谢你。我会试试看。 :) 顺便说一句,您使用的是哪个 cakephp 版本? 1.x 还是 2.x? :o cakePHP 2.1。有变化吗?? 它的APP/View/Layouts/login.ctp in 2.x @JohnMicahFernandezMiguel 是的,在 2.x 中是 APP/View/Layouts/login.ctp,我要编辑我的答案,抱歉假设你在 1.x 上

以上是关于如何在 cakephp 中为不同的模型设置不同的布局的主要内容,如果未能解决你的问题,请参考以下文章

如何使用cakephp 3进行不同数据库中模型之间的关联?

CakePHP:将数据保存到 3 个不同的模型

如何在 CakePHP 中为 JSON 返回正确的内容类型?

在 PHPStorm 中为 CakePHP 模型行为提供类型提示

如何在Django中为不同的用户创建不同的模型数据库

PHP Cakephp:与当前和使用Containable分页不同的模型