是否可以在应用中使用2个不同的布局文件>视图>布局文件夹。我问这个的原因是我已经有了我的后台,但不知道如何继续制作前台的结构。
我的后台视图的路由使用前缀admin并使用default.ctp作为布局。我实际上希望该文件是admin_default.ctp所以我可以使用default.ctp作为我的前台视图。
我现在的问题是如何分隔这些布局文件。我想要实现的是一些控制器/视图使用default.ctp(前端),而其他控制器/视图使用admin_default.ctp(后退)。这是一个好方法还是考虑替代方案更好?
答案 0 :(得分:2)
只需使用$this->layout
在控制器中指定自定义布局。
此article可能对您的问题有用
答案 1 :(得分:1)
在AppController的beforeFilter中,只需检查它是否为管理员前缀,并相应地设置布局:
class AppController extends Controller {
public function beforeFilter() {
if($this->params['prefix'] == 'admin' && $this->name !== 'CakeError') {
$this->layout = "admin"; // set the layout
}
}
//...
确定管理员之后你可以做的另一件好事就是强制使用SSL(通常是后端的好主意):
$this->Security->requireSecure(); // inside the above if block