diff options
-rw-r--r-- | Http/HttpUtils.php | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Http/HttpUtils.php b/Http/HttpUtils.php index 9ac604e..51168cc 100644 --- a/Http/HttpUtils.php +++ b/Http/HttpUtils.php @@ -48,6 +48,19 @@ class HttpUtils if (0 === strpos($path, '/')) { $path = $request->getUriForPath($path); } elseif (0 !== strpos($path, 'http')) { + // hack (don't have a better solution for now) + $context = $this->router->getContext(); + try { + $parameters = $this->router->match($request->getPathInfo()); + } catch (\Exception $e) { + } + + if (isset($parameters['_locale'])) { + $context->setParameter('_locale', $parameters['_locale']); + } elseif ($session = $request->getSession()) { + $context->setParameter('_locale', $session->getLocale()); + } + $path = $this->generateUrl($path, true); } |