从子模块中的父模块继承布局Yii

时间:2014-09-13 11:06:04

标签: php layout yii yii-modules

在我的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

我已经设置了这样的登录页面的布局(在admin模块的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';
}

但是如何在我的子模块中使用此管理布局?

2 个答案:

答案 0 :(得分:2)

好好用这个

$this->layout = 'application.modules.admin.views.layouts.admin';

答案 1 :(得分:0)

将布局文件移动到应用程序布局文件夹

application
    views
        layouts

将以下代码行添加到模块的控制器

public $layout = '//layouts/admin';