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

时间:2012-06-04 08:23:31

标签: php cakephp

我的控制器上有这个:

class EmployeeAccountsController extends AppController
{
var $layout = 'login';

public function login()
{

}
public function main_board()
{

}

}

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

login()必须具有layout:login.ctp main_board()必须具有layout:main_board()

单个控制器可能有不同的布局吗?

1 个答案:

答案 0 :(得分:5)

是的,并且将ofFilter回调到你的控制器中,如:

class EmployeeAccountsController extends AppController {

  protected $layout = 'login';

  public function beforeFilter() {
      parent::beforeFilter(); //call parent before filter

      $this->layout = $this->layout;
  }
}

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

编辑:只需定义布局,尤其是动作

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

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