我的控制器上有这个:
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()
单个控制器可能有不同的布局吗?
答案 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';
}