diff --git a/bootstrap.php b/bootstrap.php index c7f8f4ba58..3487d8fbf6 100644 --- a/bootstrap.php +++ b/bootstrap.php @@ -15,3 +15,4 @@ // Bootstrap application $application = Zend\Mvc\Application::init(include 'config/application.config.php'); +return $application; diff --git a/module/Application/Module.php b/module/Application/Module.php index 466d3f9e75..d6fadd8774 100644 --- a/module/Application/Module.php +++ b/module/Application/Module.php @@ -11,6 +11,7 @@ use Zend\Mvc\View\Http\ViewManager; use Zend\Stdlib\ArrayUtils; use Zend\View\Model; +use Zend\View\Renderer\PhpRenderer; class Module { @@ -55,8 +56,29 @@ public function getServiceConfig() $router = TreeRouteStack::factory($routerConfig); return $router; }, - 'viewmanager' => function ($services) { - return new ViewManager(); + 'viewphprenderer' => function ($services) { + $helpers = $services->get('ViewHelperManager'); + $resolver = $services->get('ViewResolver'); + + $renderer = new PhpRenderer(); + $renderer->setHelperPluginManager($helpers); + $renderer->setResolver($resolver); + + $config = $services->get('Config'); + if ($services->has('MvcEvent')) { + $event = $services->get('MvcEvent'); + $model = $event->getViewModel(); + } else { + $model = new Model\ViewModel(); + } + $layout = 'layout/layout'; + if (isset($config['view_manager']['layout'])) { + $layout = $config['view_manager']['layout']; + } + $model->setTemplate($layout); + $helpers->plugin('view_model')->setRoot($model); + + return $renderer; }, )); } @@ -79,6 +101,7 @@ public function onBootstrap($e) $services = $app->getServiceManager(); $events = $app->getEventManager(); $this->config = $services->get('config'); + $services->setService('MvcEvent', $e); $this->initAcls($e); $this->initView($e); @@ -96,6 +119,9 @@ public function initView($e) { $app = $e->getApplication(); $services = $app->getServiceManager(); + if (!$services->has('ViewRenderer')) { + return; + } $config = $this->config; $view = $services->get('ViewRenderer'); @@ -119,7 +145,7 @@ public function initView($e) public static function prepareCompilerView($view, $config, $services) { - $renderer = $services->get('ViewRenderer'); + $renderer = $services->get('ViewPhpRenderer'); $view->addRenderingStrategy(function($e) use ($renderer) { return $renderer; }, 100); diff --git a/public/index.php b/public/index.php index 2f891a20c4..4e1325c8ca 100644 --- a/public/index.php +++ b/public/index.php @@ -1,3 +1,3 @@ run()->send();