0

2 つのモジュールがあり、それぞれに異なるレイアウトを使用する必要がありますが、すべてのモジュールは常に 2 番目に読み込まれたモジュールのレイアウトを使用します。

application.config.php :

return array(
// This should be an array of module namespaces used in the application.
'modules' => array(
    'news',//in this module use Application layout
    'Application',
),
4

3 に答える 3

0

私も同じケースがあり、次のように解決しました。

モジュールがloginありapplication、私がしたことは、次のようにレイアウトを決定することでしたglobal.php:

return array(
     'module_layouts' => array(
        'Application' => 'layout/layout.phtml',
        'Login' => 'layout/login.phtml' 
),
);

ここで、ビュー レイアウト ログインにフォルダを作成する必要があります。login.phtml

ログインモジュールの構成になりました。Module.config.php

      'view_manager' => array(
            'template_path_stack' => array(
                'Login' => __DIR__ . '/../view',
            ), 
          )
;

これはあなたを走らせるはずです。

于 2015-04-16T04:49:36.663 に答える
0
  1. に設定します{MyNewModule}/Module.php

    namespace {MyNewModule};
    
    use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
    use Zend\Mvc\ModuleRouteListener;
    use Zend\ModuleManager\ModuleManager;
    use Zend\Mvc\MvcEvent;
    
  2. 新しいメソッド初期化を作成します。

    public function init(ModuleManager $manager){
    
    $events = $manager->getEventManager();
    $sharedEvents = $events->getSharedManager();
    $sharedEvents->attach(__NAMESPACE__, 'dispatch', function($e) {
        $controller = $e->getTarget();
        $controller->layout('layout/***customFile.phtm***');
    }, 100);
    
    }
    
  3. F5、ブラウザを充電してください。

  4. スマイル :D
于 2015-03-05T21:29:58.253 に答える