我正在使用CakePHP 2.3.6。现在,我正在做一个项目,我有几个插件。现在,我希望Elements(header, footer, sidebar)
将根据不同的插件显示在默认布局中。我试图用一个例子解释它:
在我的default layout
中,我有这个标题:
<?php echo $this->element('header');?>
现在,我想在"AdminPanel" plugin
中保持相同的布局,所以我不会在该插件中使用不同的布局。但是,当我调用该插件时,我希望在同一布局中使用不同的header(say, admin-header.ctp)
来重现普通header(header.ctp)
。那可能吗 ?如果有,怎么样?请帮帮我。
感谢。
答案 0 :(得分:0)
在你的AppController beforeFilter或者之前放置类似的东西:
if (isset($this -> params['prefix']) && $this -> params['prefix'] == 'admin') {
$this->set('layout_type', 'admin');
}else{
$this->set('layout_type', 'public');
}
在default.ctp布局中
if('layout_type' == 'admin'){
echo $this->element('admin_header');
}else{
echo $this->element('header');
}