1

在我的 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';
}

但是如何让这个管理布局在我的子模块中工作?

4

2 回答 2

2

好好利用这个

$this->layout = 'application.modules.admin.views.layouts.admin';
于 2014-09-13T14:59:20.457 回答
0

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

application
    views
        layouts

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

public $layout = '//layouts/admin';
于 2014-09-20T10:12:05.077 回答