From 70e00b16c1ea041ebf4a8f6437a6f41d6641ee8d Mon Sep 17 00:00:00 2001 From: Simon Gadient Date: Wed, 4 Sep 2019 10:25:33 +0200 Subject: [PATCH] BUGFIX: Setting baseUri in form action uri --- Classes/ViewHelpers/FormViewHelper.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Classes/ViewHelpers/FormViewHelper.php b/Classes/ViewHelpers/FormViewHelper.php index a69c92e..37f7965 100644 --- a/Classes/ViewHelpers/FormViewHelper.php +++ b/Classes/ViewHelpers/FormViewHelper.php @@ -11,6 +11,8 @@ * source code. */ +use Neos\Flow\Http\Request; +use Neos\Flow\Http\Uri; use Neos\Flow\Mvc\ActionRequest; use Neos\FluidAdaptor\ViewHelpers\FormViewHelper as FluidFormViewHelper; use Neos\Form\Core\Runtime\FormRuntime; @@ -58,8 +60,14 @@ protected function getFormObjectName() protected function getFormActionUri() { /** @var ActionRequest $actionRequest */ - $actionRequest = $this->controllerContext->getRequest(); - $uri = $actionRequest->getHttpRequest()->getUri(); + $actionRequest = clone $this->controllerContext->getRequest(); + $requestUri = $actionRequest->getHttpRequest()->getUri(); + /** @var Uri $uri */ + $uri = $actionRequest->getHttpRequest()->getAttribute(Request::ATTRIBUTE_BASE_URI) + ->withPath($requestUri->getPath()) + ->withQuery($requestUri->getQuery()) + ->withFragment($requestUri->getFragment()); + if ($this->hasArgument('section')) { $uri = preg_replace('/#.*$/', '', $uri) . '#' . $this->arguments['section']; }