不同视图上的不同布局 CakePHP 2.0


different layouts on different views cakephp 2.0

我的控制器上有这个:

class EmployeeAccountsController extends AppController
{
var $layout = 'login';
public function login()
{
}
public function main_board()
{
}
}

我想做的是在调用 login() 视图和 main_board 视图时分配不同的布局。

login() 必须具有 layout:login.ctpmain_board() 必须具有布局:main_board()

单个控制器是否可以具有不同的布局?

是的,在过滤器之前回调,如下所示:

class EmployeeAccountsController extends AppController {
  protected $layout = 'login';
  public function beforeFilter() {
      parent::beforeFilter(); //call parent before filter
      $this->layout = $this->layout;
  }
}

在这种情况下,员工帐户控制器将具有所有视图的登录布局。

编辑:只需定义布局,特别是用于操作

public function action() {   
 $this->layout = 'layout1';
}
public function action2() {   
 $this->layout = 'layout2';
}