yii中不同级别用户的不同界面布局

时间:2015-05-22 06:15:19

标签: php user-interface layout yii module

我是Yii的新手。我正在用PHP开发一个带有YII框架的系统。如何为不同的模块设置不同的布局?我希望模块A有接口A,模块B有接口B.但我所知道的是所有模块登录的接口登录都是相同的。有人可以给我一个灯吗?

更新

我找到了一种方法,包括:

$this->layout = $layout;

在渲染页面之前控制器内的动作功能。但是,我发现它并不像我需要重复这一行的每一个动作那样高效。有没有办法在config / main.php页面上进行设置?可能在这一部分:

'modules'=>array(
     'gii'=>array(
        'class'=>'system.gii.GiiModule',
        'password'=>'123',
        'generatorPaths' => array('bootstrap.gii'),
     ),          

     'admin',
     'consultant',
     'client',
),

2 个答案:

答案 0 :(得分:1)

您可以在config中为您的模块设置变量,如下所示:

'modules'=>array(
     'gii'=>array(
        'class'=>'system.gii.GiiModule',
        'password'=>'123',
        'generatorPaths' => array('bootstrap.gii'),
     ),          

     'admin' => array(
        'layout' => 'your_layout' //The layout for this module
     ),
     'consultant',
     'client',
),

这样您就可以为每个模块实现默认布局。无需添加controller方法或变量。

有关详细信息,请参阅文档:herehere

答案 1 :(得分:0)

试试这个:

class YourController extends Controller {

    public $layout = 'your_layout';

}