/** * Dispatch request * * @param RequestInterface $request * @return ResponseInterface * @throws NotFoundException */ public function dispatch(RequestInterface $request) { $this->_request = $request; $profilerKey = 'CONTROLLER_ACTION:' . $request->getFullActionName(); $eventParameters = ['controller_action' => $this, 'request' => $request]; $this->_eventManager->dispatch('controller_action_predispatch', $eventParameters); $this->_eventManager->dispatch('controller_action_predispatch_' . $request->getRouteName(), $eventParameters); $this->_eventManager->dispatch('controller_action_predispatch_' . $request->getFullActionName(), $eventParameters); \Magento\Framework\Profiler::start($profilerKey); $result = null; if ($request->isDispatched() && !$this->_actionFlag->get('', self::FLAG_NO_DISPATCH)) { \Magento\Framework\Profiler::start('action_body'); $result = $this->execute(); \Magento\Framework\Profiler::start('postdispatch'); if (!$this->_actionFlag->get('', self::FLAG_NO_POST_DISPATCH)) { $this->_eventManager->dispatch('controller_action_postdispatch_' . $request->getFullActionName(), $eventParameters); $this->_eventManager->dispatch('controller_action_postdispatch_' . $request->getRouteName(), $eventParameters); $this->_eventManager->dispatch('controller_action_postdispatch', $eventParameters); } \Magento\Framework\Profiler::stop('postdispatch'); \Magento\Framework\Profiler::stop('action_body'); } \Magento\Framework\Profiler::stop($profilerKey); return $result ?: $this->_response; }
/** * Add default body classes for current page layout * * @return $this */ protected function addDefaultBodyClasses() { $this->pageConfig->addBodyClass($this->request->getFullActionName('-')); $pageLayout = $this->getPageLayout(); if ($pageLayout) { $this->pageConfig->addBodyClass('page-layout-' . $pageLayout); } return $this; }