我是新来的。我正在用PHP开发一个带有YII框架的系统。如何为不同的模块提供不同的布局?我希望模块A具有接口A,模块B具有接口B。但我所知道的是,所有模块登录的接口登录都是相同的。谁能借个火给我一下?
更新:
我找到了一种方法,那就是包括:
$this->layout = $layout;在呈现页面之前,在控制器内部的action函数上。然而,我发现它并不像我需要重复这行的每一个动作那样有效。有没有办法在config/main.php页面上进行设置?可能是在这一部分:
'modules'=>array(
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'123',
'generatorPaths' => array('bootstrap.gii'),
),
'admin',
'consultant',
'client',
),发布于 2015-05-22 16:14:16
您可以在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方法或变量。
有关更多信息,请参阅文档:here和here
发布于 2015-05-22 16:17:18
试试这个:
class YourController extends Controller {
public $layout = 'your_layout';
}https://stackoverflow.com/questions/30389587
复制相似问题