diff --git a/core/lib/Thelia/Tools/URL.php b/core/lib/Thelia/Tools/URL.php index 330baa178..65a03ed65 100644 --- a/core/lib/Thelia/Tools/URL.php +++ b/core/lib/Thelia/Tools/URL.php @@ -154,6 +154,7 @@ class URL $base = $path; $queryString = ''; + $anchor = ''; if (! is_null($parameters)) { foreach ($parameters as $name => $value) { @@ -167,6 +168,14 @@ class URL if ('' !== $queryString = rtrim($queryString, "&")) { + // url could contain anchor + $pos = strrpos($base, '#'); + if($pos !== false) { + $anchor = substr($base, $pos); + $base = substr($base, 0, $pos); + } + + $base = rtrim($base, "?&"); $sepChar = strstr($base, '?') === false ? '?' : '&'; @@ -174,7 +183,7 @@ class URL $queryString = $sepChar . $queryString; } - return $base . $queryString; + return $base . $queryString . $anchor; } /**