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

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

Render the Uri.
public render ( string $action, array $arguments = [], string $controller = null, string $package = null, string $subpackage = null, string $section = '', string $format = '', array $additionalParams = [], boolean $absolute = false, boolean $addQueryString = false, array $argumentsToBeExcludedFromQueryString = [], boolean $useParentRequest = false, boolean $useMainRequest = false ) : string
$action string Target action
$arguments array Arguments
$controller string Target controller. If NULL current controllerName is used
$package string Target package. if NULL current package is used
$subpackage string Target subpackage. if NULL current subpackage is used
$section string The anchor to be added to the URI
$format string The requested format, e.g. ".html"
$additionalParams array additional query parameters that won't be prefixed like $arguments (overrule $arguments)
$absolute boolean If set, an absolute URI is rendered
$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
$useParentRequest boolean If set, the parent Request will be used instead of the current one. Note: using this argument can be a sign of undesired tight coupling, use with care
$useMainRequest boolean If set, the main Request will be used instead of the current one. Note: using this argument can be a sign of undesired tight coupling, use with care
Результат string The rendered link
    public function render($action, array $arguments = array(), $controller = null, $package = null, $subpackage = null, $section = '', $format = '', array $additionalParams = array(), $absolute = false, $addQueryString = false, array $argumentsToBeExcludedFromQueryString = array(), $useParentRequest = false, $useMainRequest = false)
    {
        $uriBuilder = $this->controllerContext->getUriBuilder();
        if ($useParentRequest === true) {
            $request = $this->controllerContext->getRequest();
            if ($request->isMainRequest()) {
                throw new ViewHelper\Exception('You can\'t use the parent Request, you are already in the MainRequest.', 1360590758);
            }
            $uriBuilder = clone $uriBuilder;
            $uriBuilder->setRequest($request->getParentRequest());
        } elseif ($useMainRequest === true) {
            $request = $this->controllerContext->getRequest();
            if (!$request->isMainRequest()) {
                $uriBuilder = clone $uriBuilder;
                $uriBuilder->setRequest($request->getMainRequest());
            }
        }
        $uriBuilder->reset()->setSection($section)->setCreateAbsoluteUri($absolute)->setArguments($additionalParams)->setAddQueryString($addQueryString)->setArgumentsToBeExcludedFromQueryString($argumentsToBeExcludedFromQueryString)->setFormat($format);
        try {
            $uri = $uriBuilder->uriFor($action, $arguments, $controller, $package, $subpackage);
        } catch (\Exception $exception) {
            throw new ViewHelper\Exception($exception->getMessage(), $exception->getCode(), $exception);
        }
        return $uri;
    }
ActionViewHelper