/** * Check and process no route request * * @param \Magento\Framework\App\RequestInterface $request * @return bool */ public function process(\Magento\Framework\App\RequestInterface $request) { $requestPathParams = explode('/', trim($request->getPathInfo(), '/')); $areaFrontName = array_shift($requestPathParams); if ($areaFrontName == $this->helper->getAreaFrontName()) { $moduleName = $this->routeConfig->getRouteFrontName('adminhtml'); $actionNamespace = 'noroute'; $actionName = 'index'; $request->setModuleName($moduleName)->setControllerName($actionNamespace)->setActionName($actionName); return true; } return false; }
/** * Set route name * * @param string $route * @return $this */ public function setRouteName($route) { $this->_route = $route; $module = $this->_routeConfig->getRouteFrontName($route); if ($module) { $this->setModuleName($module); } return $this; }
/** * Retrieve route front name * * @return string */ protected function _getRouteFrontName() { if (!$this->hasData('route_front_name')) { $frontName = $this->_routeConfig->getRouteFrontName( $this->_getRouteName(), $this->_scopeResolver->getAreaCode() ); $this->setData('route_front_name', $frontName); } return $this->_getData('route_front_name'); }