diff --git a/Classes/ViewHelpers/Widget/UriViewHelper.php b/Classes/ViewHelpers/Widget/UriViewHelper.php index 8d868712bc9e27046eaf36b9813d89c049a4c91e..3e3e6ecfec93c7fbeece9bfe45af6a3b834f7e04 100644 --- a/Classes/ViewHelpers/Widget/UriViewHelper.php +++ b/Classes/ViewHelpers/Widget/UriViewHelper.php @@ -116,10 +116,16 @@ class UriViewHelper extends AbstractViewHelper { $argumentPrefix = $controllerContext->getRequest()->getArgumentPrefix(); $parentNamespace = $controllerContext->getRequest()->getWidgetContext()->getParentPluginNamespace(); $parentArguments = GeneralUtility::_GP($parentNamespace); - $allArguments = [$argumentPrefix => $arguments]; + $allArguments = [$argumentPrefix => $arguments['arguments'] ?? []]; if ($parentArguments && isset($parentArguments['filters'])) { $allArguments[$parentNamespace . '[filters]'] = $parentArguments['filters']; } + if ($arguments['action'] ?? FALSE) { + $allArguments[$argumentPrefix]['action'] = $arguments['action']; + } + if (($arguments['format'] ?? '') !== '') { + $allArguments[$argumentPrefix]['format'] = $arguments['format']; + } return $uriBuilder->reset() ->setArguments($allArguments) ->setSection($arguments['section'])