2011-07-01 6 views
1

モジュール 'admin'を作成しました。私はこの管理モジュール用のレイアウトも作成しました。どのようにしてこのレイアウトを「admin」モジュールに永久に取り付けることができますか?私はこの目的のためにどこでどのようにコードを書くことができますか?それがブートストラップファイルにあるかどうか?Zend Framework:デフォルトのレイアウト以外を添付するには

答えて

0

あなたはレイアウトスクリプトの代替パスを指定することができます。

if (!$registered) { 
//for PUBLIC role 
    Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH.'/layouts/scripts/pub'); 
} else { 
//For registered users 
    Zend_Layout::getMvcInstance()->setLayoutPath(APPLICATION_PATH.'/layouts/scripts'); 
} 
0

protected function _initAutoloader() { 
     $autoloader = new Zend_Application_Module_Autoloader(array(
      'namespace' => '', 
      'basePath' => APPLICATION_PATH . '/modules/default'), array(
      'namespace' => 'Admin', 
      'basePath' => APPLICATION_PATH . '/modules/admin' 
     )    
    ); 
     return $autoloader; 

    } 

phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 
resources.frontController.params.displayExceptions = 1 
includePaths.library = APPLICATION_PATH "/../library" 
appnamespace = "Default" 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 
resources.frontController.defaultModule = "default" 
resources.frontController.defaultController = "index" 
resources.frontController.defaultAction = "index" 
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts" 
resources.layout.layout = "layout" 
resources.modules = "" 
resources.view[] = 

のapplication.ini、あなたがする必要がある管理者の各コントローラでのブートストラップファイルでこの行をinit関数に追加してレイアウトを変更します。

$ this - > _ helper-> layout() - > setLayout( "admin");

1

モジュールのレイアウト/ scripts /フォルダにlayout.phtmlファイルを追加するだけでよいという場合は、このモジュールを使用します。

あなたがadmin.phtmlのようなあなたのlayout.phtmlに別の名前を持っている場合は、簡単な

$this->_helper->layout->setLayout('admin'); 

あなたのコントローラに以下を追加それは最初のモジュールのレイアウトフォルダと、デフォルトのフォルダを確認しますする必要があります。

関連する問題