如何在cakephp 3.x中的插件控制器中设置应用程序布局?

时间:2017-11-22 07:46:34

标签: cakephp cakephp-3.0

我是cakephp 3的新手,我不知道如何将我们的应用程序布局添加到特定的插件控制器。

我的文件夹结构如下:

<pre>
projectName(folder)
->Plugins(folder)
  ->PluginsName
   ->src
    ->controller
     ->UsersController
->src(folder)
  ->Template(folder)
    ->Layout(folder)
      ->login.ctp
</pre>

如何在插件控制器(UsersController)中使用此login.ctp布局?

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式在特定功能中添加布局。

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

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

// Before 3.1
$this->layout = 'login';

如果您需要在完整控制器中添加它,那么您可以在beforeRender

中添加它
public function beforeRender(Event $event)
{
    parent::beforeRender($event);
    $this->viewBuilder()->setLayout('Admintheme');
}

参考:beforeRenderLayout