2014-09-13 130 views
1

在我的Yii应用程序中,我想创建一个管理模块。到目前为止,我创建了一个名为'admin'的模块,并创建了一个使用布局的登录页面:layout.php。在管理模块内我想添加所有的子模块。所以我首先创建了子模块“仪表板”。现在我希望我的所有子模块都具有布局admin.php。从子模块中的父模块继承布局Yii

我如何得到这个工作?

我的应用程序的结构是这样的:

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)); 

初始化内()函数我也设置了这样的布局:

public function init() 
{ 
    $this->setImport(array(
     'admin.models.*', 
     'admin.components.*', 
    )); 

    $this->layout = 'admin'; 
} 

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

回答

2

以及使用该

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

当我在我的模块的init()函数内实现你的代码,它仍然继续加载默认布局。 我已将布局文件:admin.php移至:application.views.layouts文件夹中,并将以下代码行添加到模块的控制器中: public $ layout ='// layouts/admin'; – guuspor 2014-09-20 10:07:11

0

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

application 
    views 
     layouts 

下面的代码行添加到您的模块控制器

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