Neos\Neos\ViewHelpers\Uri\NodeViewHelper::render PHP Метод

render() публичный Метод

Renders the URI.
public render ( mixed $node = null, string $format = null, boolean $absolute = false, array $arguments = [], string $section = '', boolean $addQueryString = false, array $argumentsToBeExcludedFromQueryString = [], string $baseNodeName = 'documentNode', boolean $resolveShortcuts = true ) : string
$node mixed A node object, a string node path (absolute or relative), a string node://-uri or NULL
$format string Format to use for the URL, for example "html" or "json"
$absolute boolean If set, an absolute URI is rendered
$arguments array Additional arguments to be passed to the UriBuilder (for example pagination parameters)
$section string
$addQueryString boolean If set, the current query parameters will be kept in the URI
$argumentsToBeExcludedFromQueryString array arguments to be removed from the URI. Only active if $addQueryString = TRUE
$baseNodeName string The name of the base node inside the TypoScript context to use for the ContentContext or resolving relative paths
$resolveShortcuts boolean INTERNAL Parameter - if FALSE, shortcuts are not redirected to their target. Only needed on rare backend occasions when we want to link to the shortcut itself.
Результат string The rendered URI or NULL if no URI could be resolved for the given node
    public function render($node = null, $format = null, $absolute = false, array $arguments = array(), $section = '', $addQueryString = false, array $argumentsToBeExcludedFromQueryString = array(), $baseNodeName = 'documentNode', $resolveShortcuts = true)
    {
        $baseNode = null;
        if (!$node instanceof NodeInterface) {
            $baseNode = $this->getContextVariable($baseNodeName);
            if (is_string($node) && substr($node, 0, 7) === 'node://') {
                $node = $this->linkingService->convertUriToObject($node, $baseNode);
            }
        }
        try {
            return $this->linkingService->createNodeUri($this->controllerContext, $node, $baseNode, $format, $absolute, $arguments, $section, $addQueryString, $argumentsToBeExcludedFromQueryString, $resolveShortcuts);
        } catch (NeosException $exception) {
            $this->systemLogger->logException($exception);
        } catch (NoMatchingRouteException $exception) {
            $this->systemLogger->logException($exception);
        }
        return '';
    }

Usage Example

 /**
  * @test
  */
 public function viewHelperCatchesExceptionIfTargetNodeDoesNotExist()
 {
     $this->assertSame('', $this->viewHelper->render('/sites/example/non-existing-node'));
 }
NodeViewHelper