Templates CakePHP3中的布局?

Templates CakePHP3中的布局?,templates,cakephp,layout,Templates,Cakephp,Layout,大家好 我有一个CakePHP3项目 文件src/Template/Layout/Default.ctp包含代码(页眉、页脚..)以自动导入一些vew,如src/Template/User/index.ctp或src/Template/Posts/add.ctp 但是它是管理面板,现在我想要前端的构建视图,我不想使用相同的布局。如何对src/Template/Home/index.ctp使用不同的页眉/页脚布局 这是我的文件夹 谢谢阅读 您需要在控制器中设置布局,或者定义一些条件,在/src/

大家好
我有一个CakePHP3项目

文件
src/Template/Layout/Default.ctp
包含代码(页眉、页脚..)以自动导入一些vew,如
src/Template/User/index.ctp
src/Template/Posts/add.ctp

但是它是管理面板,现在我想要前端的构建视图,我不想使用相同的布局。如何对
src/Template/Home/index.ctp
使用不同的页眉/页脚布局

这是我的文件夹


谢谢阅读

您需要在
控制器中设置布局,或者定义一些条件,在/src/View/AppView.php中加载前端
视图

对于控制器方法:

// Set the layout.
$this->viewBuilder()->setLayout('admin');

// Before 3.4
$this->viewBuilder()->layout('admin');

// Before 3.1
$this->layout = 'admin';
在控制器=>中添加这些代码,这些代码将更改整个控制器的操作布局,以便呈现为“admin”


要更改一个动作布局,请遵循代码。

我讨厌这个。。。为什么cakephp开发人员会做这样脆弱的事情,每一个版本都不推荐使用如果其他人都在努力解决这个问题-我在蛋糕3.8上,只有最后一个选项对我有效。。。
use Cake\Event\Event;

public function beforeFilter(Event $event)
{
    parent::beforeFilter($event);
    $this->viewBuilder()->layout('admin');
}