Example #1
0
 public function onBootstrap(EventInterface $e)
 {
     // Récupération des erreurs en ajoutant un callback qui affiche l'erreur coté serveur
     $application = $e->getTarget();
     $event = $application->getEventManager();
     $event->attach(MvcEvent::EVENT_DISPATCH_ERROR, function (MvcEvent $e) {
         error_log('DISPATCH_ERROR : ' . $e->getError());
         error_log($e->getControllerClass() . ' ' . $e->getController());
     });
     $event->attach(MvcEvent::EVENT_RENDER_ERROR, function (MvcEvent $e) {
         error_log('RENDER_ERROR : ' . $e->getError());
     });
     $event->attach(MvcEvent::EVENT_RENDER, function (MvcEvent $e) {
         $services = $e->getApplication()->getServiceManager();
         $session = $services->get('session');
         $rightViewModel = new ViewModel();
         if (!isset($session->user)) {
             $form = $services->get('MiniModule\\Form\\Authentification');
             $formUser = $services->get('MiniModule\\Form\\NewUser');
             $rightViewModel->setVariables(array('form' => $form, 'newUserForm' => $formUser));
             $rightViewModel->setTemplate('layout/form-auth');
         } else {
             $rightViewModel->setVariables(array('user' => $session->user));
             $rightViewModel->setTemplate('layout/info-auth');
         }
         $view = $e->getViewModel();
         // c'est le viewModel qui contient le layout (top viewModel)
         $view->addChild($rightViewModel, 'formulaireAuth');
     });
 }
Example #2
0
 /**
  * Listen to the bootstrap event.
  *
  * @param EventInterface|MvcEvent $e
  *
  * @return array|void
  */
 public function onBootstrap(EventInterface $e)
 {
     if (!$e instanceof MvcEvent) {
         return;
     }
     $currentRouteName = $this->getCurrentRouteName($e->getApplication()->getServiceManager());
     $e->getViewModel()->setVariables(['__currentRouteName' => $currentRouteName]);
 }
 /**
  * Listen to the "render" event and render additional layout segments
  *
  * @param  MvcEvent $e
  *
  * @return null
  */
 public function renderLayoutSegments(EventInterface $e)
 {
     // get view Model
     $viewModel = $e->getViewModel();
     /* @var $viewModel ViewModel */
     // only for normal View Models
     if (!$viewModel instanceof JsonModel) {
         // add an additional header segment to layout
         $header = new ViewModel();
         $header->setTemplate('layout/header');
         $viewModel->addChild($header, 'header');
         // add an additional footer segment to layout
         $footer = new ViewModel();
         $footer->setTemplate('layout/footer');
         $viewModel->addChild($footer, 'footer');
     }
     // return response
     return $e->getResponse();
 }
Example #4
0
 public function onBootstrap(EventInterface $e)
 {
     // $e­>getTarget() renvoit Zend\MVC\Application
     //            $sm = $e->getTarget()->getServiceManager();
     //            $view = $sm->get('ViewManager');
     //            $resolv = new \Zend\View\Resolver\TemplateMapResolver(array(
     //                'error' => __DIR__ . '/view/error.phtml',
     //                'layout/layout' => __DIR__.'/view/layout.phtml',
     //                )
     //            );
     //            $view->getRenderer()->setResolver( $resolv );
     $application = $e->getTarget();
     $event = $application->getEventManager();
     $event->attach(MvcEvent::EVENT_DISPATCH_ERROR, function (MvcEvent $e) {
         error_log('DISPATCH_ERROR : ' . $e->getError());
         error_log($e->getControllerClass() . ' ' . $e->getController());
     });
     $event->attach(MvcEvent::EVENT_RENDER_ERROR, function (MvcEvent $e) {
         error_log('RENDER_ERROR : ' . $e->getError());
     });
     $event->attach(MvcEvent::EVENT_RENDER, function (MvcEvent $e) {
         $services = $e->getApplication()->getServiceManager();
         //            $form = $services->get('MiniModule\Form\Authentification');
         $session = $services->get('session');
         $rightViewModel = new ViewModel();
         if (!isset($session->user)) {
             $form = $services->get('MiniModule\\Form\\Authentification');
             $formUser = $services->get('MiniModule\\Form\\NewUser');
             $rightViewModel->setVariables(array('form' => $form, 'newUserForm' => $formUser));
             $rightViewModel->setTemplate('layout/form-auth');
         } else {
             $rightViewModel->setVariables(array('user' => $session->user));
             $rightViewModel->setTemplate('layout/info-auth');
         }
         $view = $e->getViewModel();
         // c'est le viewModel qui contient le layout (top viewModel)
         //            $formViewManager = new ViewModel(array('form' => $form));
         //            $formViewManager->setTemplate('layout/form-auth');
         //            $view->addChild($formViewManager, 'formulaireAuth');
         $view->addChild($rightViewModel, 'formulaireAuth');
     });
 }
 /**
  * Listen to the "render" event and render additional layout segments
  *
  * @param  MvcEvent $e
  * @return null
  */
 public function renderLayoutSegments(EventInterface $e)
 {
     // get view Model
     $viewModel = $e->getViewModel();
     /* @var $viewModel ViewModel */
     // add an additional header segment to layout
     $header = new ViewModel();
     $header->setTemplate('layout/header');
     $viewModel->addChild($header, 'header');
     // add an additional sidebar segment to layout
     $sidebar = new ViewModel();
     $sidebar->setTemplate('layout/sidebar');
     $viewModel->addChild($sidebar, 'sidebar');
     // add an additional footer segment to layout
     $footer = new ViewModel();
     $footer->setTemplate('layout/footer');
     $viewModel->addChild($footer, 'footer');
     // return response
     return $e->getResponse();
 }
Example #6
0
 /**
  *
  * @param MvcEvent|EventInterface $e
  * @return array|void
  */
 public function onBootstrap(Event $e)
 {
     $application = $e->getApplication();
     $serviceManager = $application->getServiceManager();
     $eventManager = $application->getEventManager();
     $request = $serviceManager->get('Request');
     if (!$request instanceof Request) {
         return;
     }
     /* @var $options ModuleOptions */
     $options = $serviceManager->get(ModuleOptions::class);
     $listeners = $options->getListeners();
     foreach ($listeners as $listener => $isEnabled) {
         if ($isEnabled) {
             $serviceManager->get($listener)->attach($eventManager);
         }
     }
     $serviceManager->get(LayoutInterface::class)->setRoot($e->getViewModel());
     if ($options->isDebug()) {
         $this->attachDebugger($serviceManager);
     }
 }
Example #7
0
 /**
  * Hook to inject the main menu
  *
  * This is invoked by the "render" event.
  *
  * @param \Zend\Mvc\MvcEvent $e MVC event
  */
 public function setMenu(\Zend\EventManager\EventInterface $e)
 {
     $e->getViewModel()->menu = 'Console\\Navigation\\MainMenu';
 }