在我的Yii应用程序中,我想创建一个管理模块。到目前为止,我已经创建了一个名为"admin"的模块,并使用layout.php创建了一个子模块。因此,我首先创建了子模块"仪表板"。现在我希望我所有的子模块都有布局admin.php。
我该怎么做?
我的应用程序结构如下:
application
modules
admin
assets
controllers
views
default
- index.php
- login.php
layouts
- admin.php
- login.php
modules
dashboard
assets
controllers
views
我为登录页面设置了这样的布局(在管理模块的defaultController中):
$this->layout = "login";
$this->pageTitle = "Beheersysteem";
$this->render('login', array('model' => $model));
在AdminModule.php文件的init()函数中,我还设置了如下布局:
public function init()
{
$this->setImport(array(
'admin.models.*',
'admin.components.*',
));
$this->layout = 'admin';
}
但是我如何让这个管理布局在我的子模块中工作呢?
我们使用这个
$this->layout = 'application.modules.admin.views.layouts.admin';
将布局文件移动到应用程序布局文件夹
application
views
layouts
将以下代码行添加到模块的控制器
public $layout = '//layouts/admin';