2014-09-13 128 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';