Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在我的所有zend框架中更改布局2_Php_Zend Framework2 - Fatal编程技术网

Php 如何在我的所有zend框架中更改布局2

Php 如何在我的所有zend框架中更改布局2,php,zend-framework2,Php,Zend Framework2,在我的项目中,我有两个模块,一个是前端,另一个是后端,因为屏幕上有两个不同的布局,所以每一个,现在我可以在单个操作上更改LAOUT,我想模拟zf1,控制器有一个init()方法,您可以执行,以便所有更改LAOUT的操作都可以运行 zf1 init()方法 zf2__construct()方法 阅读本文:ZF1和ZF2在体系结构上有很大的不同。ZF2是事件驱动的;这意味着您需要将事件侦听器附加到控制器调度事件或命令,以便正确设置布局 class Module { public function

在我的项目中,我有两个模块,一个是前端,另一个是后端,因为屏幕上有两个不同的布局,所以每一个,现在我可以在单个操作上更改LAOUT,我想模拟zf1,控制器有一个init()方法,您可以执行,以便所有更改LAOUT的操作都可以运行

zf1 init()方法

zf2__construct()方法


阅读本文:

ZF1和ZF2在体系结构上有很大的不同。ZF2是事件驱动的;这意味着您需要将事件侦听器附加到控制器调度事件或命令,以便正确设置布局

class Module
{
  public function getControllerConfig()
  {
    return array(
      'factories' => array(
        'Namespace\Controller\Ajax' => function($cpm) {
          $controller = new Namespace\Controller\Ajax();
          $eventManager = $controller->getEventManager();
          $eventManager->attach('dispatch', function($event) {
            // Set layout or perform actions prior to dispatch
            $controller = $event->getTarget(); // Controller
            $controller->layout('foo/bar');
          });
          return $controller;
        },  
      ),
    );
   }

谢谢你,德米特里。我使用这个教程。谢谢你,它是成功的!
public function  __construct()
{  
    $this->layout('layout/administrator');//it's not work
}

pulic funciton indexAction()
{
    $this->layout('layout/administrator');//it's work
}
class Module
{
  public function getControllerConfig()
  {
    return array(
      'factories' => array(
        'Namespace\Controller\Ajax' => function($cpm) {
          $controller = new Namespace\Controller\Ajax();
          $eventManager = $controller->getEventManager();
          $eventManager->attach('dispatch', function($event) {
            // Set layout or perform actions prior to dispatch
            $controller = $event->getTarget(); // Controller
            $controller->layout('foo/bar');
          });
          return $controller;
        },  
      ),
    );
   }