Exemplo n.º 1
0
 /**
  * Match provided request and if matched - return corresponding controller
  *
  * @param \Magento\Framework\App\RequestInterface $request
  * @return \Magento\Framework\App\Action\Action|null
  */
 public function match(\Magento\Framework\App\RequestInterface $request)
 {
     // if URL has VDE prefix
     if (!$this->_designEditorHelper->isVdeRequest($request)) {
         return null;
     }
     // user must be logged in admin area
     if (!$this->_session->isLoggedIn()) {
         return null;
     }
     // prepare request to imitate
     $this->_prepareVdeRequest($request);
     // apply rewrites
     $this->_urlRewriteService->applyRewrites($request);
     // match routers
     $controller = null;
     $routers = $this->_getMatchedRouters();
     /** @var $router \Magento\Framework\App\RouterInterface */
     foreach ($routers as $router) {
         /** @var $controller \Magento\Framework\App\Action\AbstractAction */
         $controller = $router->match($request);
         if ($controller) {
             $this->_state->update(\Magento\Framework\App\Area::AREA_FRONTEND, $request);
             break;
         }
     }
     // set inline translation mode
     $this->_designEditorHelper->setTranslationMode($request);
     return $controller;
 }
Exemplo n.º 2
0
 /**
  * @dataProvider textTranslationMode
  */
 public function testTextTranslationMode($mode)
 {
     $this->_request->setParam('translation_mode', $mode);
     $this->_helperData->setTranslationMode($this->_request);
     $this->assertEquals($mode, $this->_helperData->getTranslationMode());
 }