From 3eebf358d024e16462e5ced8897a0fd34e260f77 Mon Sep 17 00:00:00 2001 From: Claus Due <claus@namelesscoder.net> Date: Fri, 5 May 2017 03:31:07 +0200 Subject: [PATCH] [TASK] Convert ViewHelpers to static calling Several ViewHelpers were not yet converted to use the renderStatic method and CompileWith* traits from Fluid. This patch converts those. Change-Id: I17773d4014969c5ad5a3b87bffd34c14871a2958 Releases: master Resolves: #81143 Reviewed-on: https://review.typo3.org/52707 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Jan Helke <typo3@helke.de> Tested-by: Jan Helke <typo3@helke.de> Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl> Tested-by: Wouter Wolters <typo3@wouterwolters.nl> --- .../Classes/ViewHelpers/BaseViewHelper.php | 24 ++------ .../ViewHelpers/FlashMessagesViewHelper.php | 60 ++++++------------- .../ViewHelpers/Format/CropViewHelper.php | 28 +-------- .../Format/HtmlentitiesDecodeViewHelper.php | 20 ++----- .../Format/HtmlentitiesViewHelper.php | 26 ++++---- .../ViewHelpers/Format/JsonViewHelper.php | 26 ++++---- .../Format/StripTagsViewHelper.php | 31 ++-------- .../ViewHelpers/RenderChildrenViewHelper.php | 16 +++-- .../ViewHelpers/TranslateViewHelper.php | 17 +----- .../ViewHelpers/Uri/ActionViewHelper.php | 49 ++++++++------- 10 files changed, 102 insertions(+), 195 deletions(-) diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/BaseViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/BaseViewHelper.php index d21d2ab1cb84..fd79f5db8ec4 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/BaseViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/BaseViewHelper.php @@ -16,6 +16,7 @@ namespace TYPO3\CMS\Fluid\ViewHelpers; use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; +use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic; /** * View helper which creates a <base href="..."></base> tag. The Base URI is taken from the @@ -36,6 +37,8 @@ use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; */ class BaseViewHelper extends AbstractViewHelper { + use CompileWithRenderStatic; + /** * As this ViewHelper renders HTML, the output must not be escaped. * @@ -43,24 +46,6 @@ class BaseViewHelper extends AbstractViewHelper */ protected $escapeOutput = false; - /** - * Render the "Base" tag by outputting $request->getBaseUri() - * - * Note: renders as <base></base>, because IE6 will else refuse to display - * the page... - * - * @return string "base"-Tag. - * @api - */ - public function render() - { - return static::renderStatic( - [], - $this->buildRenderChildrenClosure(), - $this->renderingContext - ); - } - /** * Render the "Base" tag by outputting $request->getBaseUri() * @@ -76,7 +61,6 @@ class BaseViewHelper extends AbstractViewHelper */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { - $controllerContext = $renderingContext->getControllerContext(); - return '<base href="' . htmlspecialchars($controllerContext->getRequest()->getBaseUri()) . '" />'; + return '<base href="' . htmlspecialchars($renderingContext->getControllerContext()->getRequest()->getBaseUri()) . '" />'; } } diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/FlashMessagesViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/FlashMessagesViewHelper.php index 4280c08f1942..874e0061229b 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/FlashMessagesViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/FlashMessagesViewHelper.php @@ -17,6 +17,8 @@ namespace TYPO3\CMS\Fluid\ViewHelpers; use TYPO3\CMS\Core\Messaging\FlashMessageRendererResolver; use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper; +use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; +use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic; /** * View helper which renders the flash messages (if there are any) as an unsorted list. @@ -79,6 +81,8 @@ use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper; */ class FlashMessagesViewHelper extends AbstractViewHelper { + use CompileWithRenderStatic; + /** * ViewHelper outputs HTML therefore output escaping has to be disabled * @@ -104,58 +108,32 @@ class FlashMessagesViewHelper extends AbstractViewHelper * from being cached. * * @see \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController::no_cache - * @return string rendered Flash Messages, if there are any. - * @api + * @param array $arguments + * @param \Closure $renderChildrenClosure + * @param RenderingContextInterface $renderingContext + * @return mixed */ - public function render() + public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { - $as = $this->arguments['as']; - $queueIdentifier = isset($this->arguments['queueIdentifier']) ? $this->arguments['queueIdentifier'] : null; - $flashMessages = $this->renderingContext->getControllerContext() + $as = $arguments['as']; + $queueIdentifier = isset($arguments['queueIdentifier']) ? $arguments['queueIdentifier'] : null; + $flashMessages = $renderingContext->getControllerContext() ->getFlashMessageQueue($queueIdentifier)->getAllMessagesAndFlush(); if ($flashMessages === null || count($flashMessages) === 0) { return ''; } if ($as === null) { - $content = $this->renderDefault($flashMessages); + return GeneralUtility::makeInstance(FlashMessageRendererResolver::class) + ->resolve() + ->render($flashMessages); } else { - $content = $this->renderFromTemplate($flashMessages, $as); + $templateVariableContainer = $renderingContext->getVariableProvider(); + $templateVariableContainer->add($as, $flashMessages); + $content = $renderChildrenClosure(); + $templateVariableContainer->remove($as); } return $content; } - - /** - * Renders the flash messages - * - * @param array $flashMessages \TYPO3\CMS\Core\Messaging\FlashMessage[] - * @return string - */ - protected function renderDefault(array $flashMessages) : string - { - return GeneralUtility::makeInstance(FlashMessageRendererResolver::class) - ->resolve() - ->render($flashMessages); - } - - /** - * Renders the flash messages as nested divs - * Defer the rendering of Flash Messages to the template. In this case, - * the flash messages are stored in the template inside the variable specified - * in "as". - * - * @param array $flashMessages \TYPO3\CMS\Core\Messaging\FlashMessage[] - * @param string $as - * @return string - */ - protected function renderFromTemplate(array $flashMessages, $as) : string - { - $templateVariableContainer = $this->renderingContext->getVariableProvider(); - $templateVariableContainer->add($as, $flashMessages); - $content = $this->renderChildren(); - $templateVariableContainer->remove($as); - - return $content; - } } diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Format/CropViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Format/CropViewHelper.php index 19e8ac851ce1..c228d7cf215f 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Format/CropViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Format/CropViewHelper.php @@ -19,6 +19,7 @@ use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper; use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; +use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic; /** * Use this view helper to crop the text between its opening and closing tags. @@ -63,6 +64,8 @@ use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; */ class CropViewHelper extends AbstractViewHelper { + use CompileWithRenderStatic; + /** * The output may contain HTML and can not be escaped. * @@ -84,31 +87,6 @@ class CropViewHelper extends AbstractViewHelper $this->registerArgument('respectHtml', 'bool', 'If TRUE the cropped string will respect HTML tags and entities. Technically that means, that cropHTML() is called rather than crop()', false, true); } - /** - * Render the cropped text. - * - * @return string cropped text - * @throws \InvalidArgumentException - */ - public function render() - { - $maxCharacters = $this->arguments['maxCharacters']; - $append = $this->arguments['append']; - $respectWordBoundaries = $this->arguments['respectWordBoundaries']; - $respectHtml = $this->arguments['respectHtml']; - - return static::renderStatic( - [ - 'maxCharacters' => $maxCharacters, - 'append' => $append, - 'respectWordBoundaries' => $respectWordBoundaries, - 'respectHtml' => $respectHtml, - ], - $this->buildRenderChildrenClosure(), - $this->renderingContext - ); - } - /** * @param array $arguments * @param \Closure $renderChildrenClosure diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Format/HtmlentitiesDecodeViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Format/HtmlentitiesDecodeViewHelper.php index 0097c074bc41..9ed1a22b84a4 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Format/HtmlentitiesDecodeViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Format/HtmlentitiesDecodeViewHelper.php @@ -15,6 +15,7 @@ namespace TYPO3\CMS\Fluid\ViewHelpers\Format; */ use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; +use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithContentArgumentAndRenderStatic; /** * Applies html_entity_decode() to a value @@ -40,6 +41,8 @@ use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; */ class HtmlentitiesDecodeViewHelper extends AbstractEncodingViewHelper { + use CompileWithContentArgumentAndRenderStatic; + /** * We accept value and children interchangeably, thus we must disable children escaping. * @@ -68,19 +71,7 @@ class HtmlentitiesDecodeViewHelper extends AbstractEncodingViewHelper /** * Converts all HTML entities to their applicable characters as needed using PHPs html_entity_decode() function. * - * @return string the altered string * @see http://www.php.net/html_entity_decode - */ - public function render() - { - return static::renderStatic( - $this->arguments, - $this->buildRenderChildrenClosure(), - $this->renderingContext - ); - } - - /** * @param array $arguments * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext @@ -89,13 +80,10 @@ class HtmlentitiesDecodeViewHelper extends AbstractEncodingViewHelper */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { - $value = $arguments['value']; + $value = $renderChildrenClosure(); $encoding = $arguments['encoding']; $keepQuotes = $arguments['keepQuotes']; - if ($value === null) { - $value = $renderChildrenClosure(); - } if (!is_string($value)) { return $value; } diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Format/HtmlentitiesViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Format/HtmlentitiesViewHelper.php index bb5188d43fd1..0495f1200b8f 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Format/HtmlentitiesViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Format/HtmlentitiesViewHelper.php @@ -14,7 +14,8 @@ namespace TYPO3\CMS\Fluid\ViewHelpers\Format; * The TYPO3 project - inspiring people to share! */ -use TYPO3\CMS\Core\SingletonInterface; +use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; +use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithContentArgumentAndRenderStatic; /** * Applies htmlentities() escaping to a value @@ -38,8 +39,10 @@ use TYPO3\CMS\Core\SingletonInterface; * * @api */ -class HtmlentitiesViewHelper extends AbstractEncodingViewHelper implements SingletonInterface +class HtmlentitiesViewHelper extends AbstractEncodingViewHelper { + use CompileWithContentArgumentAndRenderStatic; + /** * Output gets encoded by this viewhelper * @@ -68,20 +71,19 @@ class HtmlentitiesViewHelper extends AbstractEncodingViewHelper implements Singl /** * Escapes special characters with their escaped counterparts as needed using PHPs htmlentities() function. * - * @return string the altered string * @see http://www.php.net/manual/function.htmlentities.php - * @api + * @param array $arguments + * @param \Closure $renderChildrenClosure + * @param RenderingContextInterface $renderingContext + * @return mixed */ - public function render() + public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { - $value = $this->arguments['value']; - $encoding = $this->arguments['encoding']; - $keepQuotes = $this->arguments['keepQuotes']; - $doubleEncode = $this->arguments['doubleEncode']; + $value = $renderChildrenClosure(); + $encoding = $arguments['encoding']; + $keepQuotes = $arguments['keepQuotes']; + $doubleEncode = $arguments['doubleEncode']; - if ($value === null) { - $value = $this->renderChildren(); - } if (!is_string($value)) { return $value; } diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Format/JsonViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Format/JsonViewHelper.php index 3b8d16e1eb79..7f913de00fb4 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Format/JsonViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Format/JsonViewHelper.php @@ -18,6 +18,7 @@ namespace TYPO3\CMS\Fluid\ViewHelpers\Format; use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; +use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithContentArgumentAndRenderStatic; /** * Wrapper for PHPs json_encode function. @@ -50,11 +51,16 @@ use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; */ class JsonViewHelper extends AbstractViewHelper { + use CompileWithContentArgumentAndRenderStatic; + /** * @var bool */ protected $escapeChildren = false; + /** + * Initialize arguments + */ public function initializeArguments() { $this->registerArgument('value', 'mixed', 'The incoming data to convert, or null if VH children should be used'); @@ -62,35 +68,23 @@ class JsonViewHelper extends AbstractViewHelper } /** + * Applies json_encode() on the specified value. + * * Outputs content with its JSON representation. To prevent issues in HTML context, occurrences * of greater-than or less-than characters are converted to their hexadecimal representations. * * If $forceObject is TRUE a JSON object is outputted even if the value is a non-associative array * Example: array('foo', 'bar') as input will not be ["foo","bar"] but {"0":"foo","1":"bar"} * - * @return string the JSON-encoded string. - * @see http://www.php.net/manual/en/function.json-encode.php - * @api - */ - public function render() - { - return self::renderStatic($this->arguments, $this->buildRenderChildrenClosure(), $this->renderingContext); - } - - /** - * Applies json_encode() on the specified value. - * * @param array $arguments * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext + * @see http://www.php.net/manual/en/function.json-encode.php * @return string */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { - $value = $arguments['value']; - if ($value === null) { - $value = $renderChildrenClosure(); - } + $value = $renderChildrenClosure(); $options = JSON_HEX_TAG; if ($arguments['forceObject'] !== false) { $options = $options | JSON_FORCE_OBJECT; diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Format/StripTagsViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Format/StripTagsViewHelper.php index e6b52e568ca3..860172860327 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Format/StripTagsViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Format/StripTagsViewHelper.php @@ -16,6 +16,7 @@ namespace TYPO3\CMS\Fluid\ViewHelpers\Format; use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; +use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithContentArgumentAndRenderStatic; /** * Removes tags from the given string (applying PHPs strip_tags() function) @@ -42,6 +43,8 @@ use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; */ class StripTagsViewHelper extends AbstractViewHelper { + use CompileWithContentArgumentAndRenderStatic; + /** * No output escaping as some tags may be allowed * @@ -68,34 +71,13 @@ unction'); */ protected $escapeChildren = false; - /** - * Escapes special characters with their escaped counterparts as needed using PHPs strip_tags() function. - * - * @return mixed - * @see http://www.php.net/manual/function.strip-tags.php - * @api - */ - public function render() - { - $value = $this->arguments['value']; - $allowedTags = $this->arguments['allowedTags']; - - return static::renderStatic( - [ - 'value' => $value, - 'allowedTags' => $allowedTags - ], - $this->buildRenderChildrenClosure(), - $this->renderingContext - ); - } - /** * Applies strip_tags() on the specified value. * * @param array $arguments * @param \Closure $renderChildrenClosure * @param \TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface $renderingContext + * @see http://www.php.net/manual/function.strip-tags.php * @return string */ public static function renderStatic( @@ -103,11 +85,8 @@ unction'); \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext ) { - $value = $arguments['value']; + $value = $renderChildrenClosure(); $allowedTags = $arguments['allowedTags']; - if ($value === null) { - $value = $renderChildrenClosure(); - } if (!is_string($value)) { return $value; } diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/RenderChildrenViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/RenderChildrenViewHelper.php index 333b6a7be45e..61451c138e70 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/RenderChildrenViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/RenderChildrenViewHelper.php @@ -33,16 +33,24 @@ class RenderChildrenViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\Abstract protected $escapeOutput = false; /** - * @param array $arguments + * Initialize arguments + */ + public function initializeArguments() + { + parent::initializeArguments(); + $this->registerArgument('arguments', 'array', 'Arguments to assign as template variables', false, []); + } + + /** * @return string */ - public function render(array $arguments = []) + public function render() { $renderingContext = $this->getWidgetRenderingContext(); $widgetChildNodes = $this->getWidgetChildNodes(); - $this->addArgumentsToTemplateVariableContainer($arguments); + $this->addArgumentsToTemplateVariableContainer($this->arguments['arguments']); $output = $widgetChildNodes->evaluate($renderingContext); - $this->removeArgumentsFromTemplateVariableContainer($arguments); + $this->removeArgumentsFromTemplateVariableContainer($this->arguments['arguments']); return $output; } diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/TranslateViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/TranslateViewHelper.php index 0d3eaace9751..3046929a2f67 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/TranslateViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/TranslateViewHelper.php @@ -17,6 +17,7 @@ use TYPO3\CMS\Extbase\Utility\LocalizationUtility; use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper; use TYPO3\CMS\Fluid\Core\ViewHelper\Exception\InvalidVariableException; use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; +use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic; /** * Translate a key from locallang. The files are loaded from the folder @@ -71,6 +72,8 @@ use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; */ class TranslateViewHelper extends AbstractViewHelper { + use CompileWithRenderStatic; + /** * Output is escaped already. We must not escape children, to avoid double encoding. * @@ -93,20 +96,6 @@ class TranslateViewHelper extends AbstractViewHelper $this->registerArgument('extensionName', 'string', 'UpperCamelCased extension key (for example BlogExample)'); } - /** - * Render translation - * - * @return string The translated key or tag body if key doesn't exist - */ - public function render() - { - return static::renderStatic( - $this->arguments, - $this->buildRenderChildrenClosure(), - $this->renderingContext - ); - } - /** * Return array element by key. * diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Uri/ActionViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Uri/ActionViewHelper.php index 85101d4aa53d..571b2f8e3c8b 100644 --- a/typo3/sysext/fluid/Classes/ViewHelpers/Uri/ActionViewHelper.php +++ b/typo3/sysext/fluid/Classes/ViewHelpers/Uri/ActionViewHelper.php @@ -14,6 +14,9 @@ namespace TYPO3\CMS\Fluid\ViewHelpers\Uri; * The TYPO3 project - inspiring people to share! */ +use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface; +use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic; + /** * A view helper for creating URIs to extbase actions. * @@ -29,6 +32,8 @@ namespace TYPO3\CMS\Fluid\ViewHelpers\Uri; */ class ActionViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper { + use CompileWithRenderStatic; + /** * Initialize arguments * @@ -57,30 +62,32 @@ class ActionViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelp } /** - * @return string Rendered link + * @param array $arguments + * @param \Closure $renderChildrenClosure + * @param RenderingContextInterface $renderingContext + * @return string */ - public function render() + public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { - $pageUid = $this->arguments['pageUid']; - $pageType = $this->arguments['pageType']; - $noCache = $this->arguments['noCache']; - $noCacheHash = $this->arguments['noCacheHash']; - $section = $this->arguments['section']; - $format = $this->arguments['format']; - $linkAccessRestrictedPages = $this->arguments['linkAccessRestrictedPages']; - $additionalParams = $this->arguments['additionalParams']; - $absolute = $this->arguments['absolute']; - $addQueryString = $this->arguments['addQueryString']; - $argumentsToBeExcludedFromQueryString = $this->arguments['argumentsToBeExcludedFromQueryString']; - $addQueryStringMethod = $this->arguments['addQueryStringMethod']; - $action = $this->arguments['action']; - $arguments = $this->arguments['arguments']; - $controller = $this->arguments['controller']; - $extensionName = $this->arguments['extensionName']; - $pluginName = $this->arguments['pluginName']; + $pageUid = $arguments['pageUid']; + $pageType = $arguments['pageType']; + $noCache = $arguments['noCache']; + $noCacheHash = $arguments['noCacheHash']; + $section = $arguments['section']; + $format = $arguments['format']; + $linkAccessRestrictedPages = $arguments['linkAccessRestrictedPages']; + $additionalParams = $arguments['additionalParams']; + $absolute = $arguments['absolute']; + $addQueryString = $arguments['addQueryString']; + $argumentsToBeExcludedFromQueryString = $arguments['argumentsToBeExcludedFromQueryString']; + $addQueryStringMethod = $arguments['addQueryStringMethod']; + $action = $arguments['action']; + $arguments = $arguments['arguments']; + $controller = $arguments['controller']; + $extensionName = $arguments['extensionName']; + $pluginName = $arguments['pluginName']; - $uriBuilder = $this->controllerContext->getUriBuilder(); - $uri = $uriBuilder + $uri = $renderingContext->getControllerContext()->getUriBuilder() ->reset() ->setTargetPageUid($pageUid) ->setTargetPageType($pageType) -- GitLab