diff --git a/Classes/ViewHelpers/FormViewHelper.php b/Classes/ViewHelpers/FormViewHelper.php index 48efba0..7b86596 100644 --- a/Classes/ViewHelpers/FormViewHelper.php +++ b/Classes/ViewHelpers/FormViewHelper.php @@ -11,6 +11,8 @@ * source code. */ +use Neos\Flow\Annotations as Flow; +use Neos\Flow\Http\BaseUriProvider; use Neos\Flow\Mvc\ActionRequest; use Neos\FluidAdaptor\ViewHelpers\FormViewHelper as FluidFormViewHelper; use Neos\Form\Core\Runtime\FormRuntime; @@ -21,6 +23,13 @@ */ class FormViewHelper extends FluidFormViewHelper { + + /** + * @Flow\Inject + * @var BaseUriProvider + */ + protected $baseUriProvider; + /** * Renders hidden form fields for referrer information about * the current request. @@ -58,11 +67,12 @@ protected function getFormObjectName() protected function getFormActionUri() { /** @var ActionRequest $actionRequest */ - $actionRequest = $this->controllerContext->getRequest(); - $uri = $actionRequest->getHttpRequest()->getUri(); - if ($this->hasArgument('section') && $this->arguments['section'] !== '') { - $uri = $uri->withFragment($this->arguments['section']); - } + $httpRequest = $this->controllerContext->getRequest()->getHttpRequest(); + $requestUri = $httpRequest->getUri(); + $uri = $this->baseUriProvider->getConfiguredBaseUriOrFallbackToCurrentRequest($httpRequest) + ->withPath($requestUri->getPath()) + ->withQuery($requestUri->getQuery()) + ->withFragment($this->hasArgument('section') ? $this->arguments['section'] : $requestUri->getFragment()); return (string)$uri; } }