1

如何在 Zend Framework 2.2 中为每个不同的模块设置不同的布局文件。

例如,我想为“Admin”和“Application”模块设置不同的布局。

4

1 回答 1

1

Rob Allen 的一种方法config/autloload.php

array(
    'module_layouts' => array(
        'Application' => 'layout/application',
        'ZfcUser' => 'layout/user',
    ),
);

Evan Coury的另一种方法- ZF2 模块系统 IIRC 的主要作者 - 在Module.php您的模块的文件中使用它:

namespace MyModule;

use Zend\ModuleManager\ModuleManager;

class Module
{
    public function init(ModuleManager $moduleManager)
    {
        $sharedEvents = $moduleManager->getEventManager()->getSharedManager();
        $sharedEvents->attach(__NAMESPACE__, 'dispatch', function($e) {
            // This event will only be fired when an ActionController under the MyModule namespace is dispatched.
            $controller = $e->getTarget();
            $controller->layout('layout/alternativelayout');
        }, 100);
    }
}

希望其中之一对您有用。

于 2013-08-01T12:06:25.963 回答