Skip to content

Commit f5071d5

Browse files
committed
Add option to exclude query string from Route::localizedUrl()
1 parent c691ac4 commit f5071d5

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/LocalizedUrlGenerator.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public function __construct()
4444
*
4545
* @return string
4646
*/
47-
public function generateFromRequest($locale = null, $parameters = null, $absolute = true)
47+
public function generateFromRequest($locale = null, $parameters = null, $absolute = true, $keepQuery = true)
4848
{
4949
$urlBuilder = UrlBuilder::make(Request::fullUrl());
5050
$locale = $locale ?: $this->detectLocale($urlBuilder);
@@ -63,7 +63,7 @@ public function generateFromRequest($locale = null, $parameters = null, $absolut
6363
}
6464

6565
if ($url = $this->generateFromNamedRoute($locale, $parameters, $absolute)) {
66-
return empty($query) ? $url . $urlBuilder->getQueryString() : $url;
66+
return empty($query) && $keepQuery ? $url . $urlBuilder->getQueryString() : $url;
6767
}
6868

6969
$urlBuilder->setPath($this->replaceParameters($this->route->uri(), $slugs));
@@ -82,6 +82,10 @@ public function generateFromRequest($locale = null, $parameters = null, $absolut
8282
$urlBuilder->setHost($domain);
8383
}
8484

85+
if ($keepQuery === false) {
86+
$urlBuilder->setQuery([]);
87+
}
88+
8589
return $urlBuilder->build($absolute);
8690
}
8791

src/Macros/LocalizedUrlMacro.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ class LocalizedUrlMacro
1515
*/
1616
public static function register()
1717
{
18-
Route::macro('localizedUrl', function ($locale = null, $parameters = null, $absolute = true) {
19-
return App::make(LocalizedUrlGenerator::class)->generateFromRequest($locale, $parameters, $absolute);
18+
Route::macro('localizedUrl', function ($locale = null, $parameters = null, $absolute = true, $keepQuery = true) {
19+
return App::make(LocalizedUrlGenerator::class)->generateFromRequest($locale, $parameters, $absolute, $keepQuery);
2020
});
2121
}
2222
}

0 commit comments

Comments
 (0)