class Module implements AutoloaderProvider
{
- protected $view;
- protected $viewListener;
-
public function init(Manager $moduleManager)
{
$events = StaticEventManager::getInstance();
public function initializeView($e)
{
$app = $e->getParam('application');
+ $basePath = $app->getRequest()->getBasePath();
$locator = $app->getLocator();
- $config = $e->getParam('config');
- $view = $this->getView($app);
- $viewListener = $this->getViewListener($view, $config);
- $app->events()->attachAggregate($viewListener);
- $events = StaticEventManager::getInstance();
- $viewListener->registerStaticListeners($events, $locator);
- }
-
- protected function getViewListener($view, $config)
- {
- if ($this->viewListener instanceof View\Listener) {
- return $this->viewListener;
- }
-
- $viewListener = new View\Listener($view, $config->layout);
- $viewListener->setDisplayExceptionsFlag($config->display_exceptions);
-
- $this->viewListener = $viewListener;
- return $viewListener;
- }
-
- protected function getView($app)
- {
- if ($this->view) {
- return $this->view;
- }
-
- $locator = $app->getLocator();
- $view = $locator->get('view');
-
- // Set up view helpers
- $view->plugin('url')->setRouter($app->getRouter());
- $view->doctype()->setDoctype('HTML5');
-
- $basePath = $app->getRequest()->getBasePath();
- $view->plugin('basePath')->setBasePath($basePath);
-
- $this->view = $view;
- return $view;
+ $renderer = $locator->get('Zend\View\Renderer\PhpRenderer');
+ $renderer->plugin('basePath')->setBasePath($basePath);
}
}