Inheritance: extends Neos\Flow\Mvc\View\AbstractView
Example #1
0
 /**
  * Checks if the optionally given node context path, affected node context path and typoscript path are set
  * and overrides the rendering to use those. Will also add a "X-Neos-AffectedNodePath" header in case the
  * actually affected node is different from the one routing resolved.
  * This is used in out of band rendering for the backend.
  *
  * @return void
  * @throws NodeNotFoundException
  */
 protected function overrideViewVariablesFromInternalArguments()
 {
     if (($nodeContextPath = $this->request->getInternalArgument('__nodeContextPath')) !== null) {
         $node = $this->propertyMapper->convert($nodeContextPath, NodeInterface::class);
         if (!$node instanceof NodeInterface) {
             throw new NodeNotFoundException(sprintf('The node with context path "%s" could not be resolved', $nodeContextPath), 1437051934);
         }
         $this->view->assign('value', $node);
     }
     if (($affectedNodeContextPath = $this->request->getInternalArgument('__affectedNodeContextPath')) !== null) {
         $this->response->setHeader('X-Neos-AffectedNodePath', $affectedNodeContextPath);
     }
     if (($typoScriptPath = $this->request->getInternalArgument('__typoScriptPath')) !== null) {
         $this->view->setTypoScriptPath($typoScriptPath);
     }
 }
 /**
  * @test
  */
 public function renderPutsSiteNodeInTypoScriptContext()
 {
     $this->setUpMockView();
     $this->mockRuntime->expects($this->once())->method('pushContextArray')->with($this->arrayHasKey('site'));
     $this->mockView->render();
 }