Neos\Neos\View\TypoScriptView::canRenderWithNodeAndPath PHP Méthode

canRenderWithNodeAndPath() public méthode

Is it possible to render $node with $his->typoScriptPath?
public canRenderWithNodeAndPath ( ) : boolean
Résultat boolean TRUE if $node can be rendered at $typoScriptPath
    public function canRenderWithNodeAndPath()
    {
        $currentNode = $this->getCurrentNode();
        $currentSiteNode = $currentNode->getContext()->getCurrentSiteNode();
        $typoScriptRuntime = $this->getTypoScriptRuntime($currentSiteNode);
        return $typoScriptRuntime->canRender($this->typoScriptPath);
    }

Usage Example

 /**
  * Shows the specified node and takes visibility and access restrictions into
  * account.
  *
  * @param NodeInterface $node
  * @return string View output for the specified node
  * @Flow\SkipCsrfProtection We need to skip CSRF protection here because this action could be called with unsafe requests from widgets or plugins that are rendered on the node - For those the CSRF token is validated on the sub-request, so it is safe to be skipped here
  * @Flow\IgnoreValidation("node")
  * @throws NodeNotFoundException
  */
 public function showAction(NodeInterface $node = null)
 {
     if ($node === null) {
         throw new NodeNotFoundException('The requested node does not exist or isn\'t accessible to the current user', 1430218623);
     }
     $inBackend = $node->getContext()->isInBackend();
     if ($node->getNodeType()->isOfType('Neos.Neos:Shortcut') && !$inBackend) {
         $this->handleShortcutNode($node);
     }
     $this->view->assign('value', $node);
     if ($inBackend) {
         $this->overrideViewVariablesFromInternalArguments();
         /** @var UserInterfaceMode $renderingMode */
         $renderingMode = $node->getContext()->getCurrentRenderingMode();
         $this->response->setHeader('Cache-Control', 'no-cache');
         if ($renderingMode !== null) {
             // Deprecated TypoScript context variable from version 2.0.
             $this->view->assign('editPreviewMode', $renderingMode->getTypoScriptPath());
         }
         if (!$this->view->canRenderWithNodeAndPath()) {
             $this->view->setTypoScriptPath('rawContent');
         }
     }
     if ($this->session->isStarted() && $inBackend) {
         $this->session->putData('lastVisitedNode', $node->getContextPath());
     }
 }