Hi,
Thank you for your feedback.
Change the code:
function addParametersToUrl($url, $parameters){
foreach($parameters as $k => $v){
if($v == ' ') $v = '';
if(strpos($url,$k)!==false){
if(preg_match('#(\?|\&|\/)'.$k.'(\-|\=)(.*?)(?=(\&|.html|\/))#i',$url,$matches)){
$url = str_replace($matches[0],$matches[1].$k.$matches[2].$v,$url);
}elseif(preg_match('#(\?|\&|\/)'.$k.'(\-|\=)(.*)#i',$url,$matches)){
$url = str_replace($matches[0],$matches[1].$k.$matches[2].$v,$url);
}
}else{
$start = '?';
if(strpos($url,'?')!==false){
$start = '&';
}
$url.=$start.$k.'='.$v;
}
}
return $url;
}
to:
function addParametersToUrl($url, $parameters){
foreach($parameters as $k => $v){
if($v == ' ') $v = '';
if(strpos($url,$k.'-')!==false || strpos($url,$k.'=')!==false){
if(!preg_match_all('#(\?|\&|\/)'.$k.'(\-|\=)(.*?)(?=(\&|\?|.html|\/))#i',$url,$matches)){
preg_match_all('#(\?|\&|\/)'.$k.'(\-|\=)(.*)#i',$url,$matches);
}
if(!empty($matches) && count($matches)){
$done = false;
foreach($matches[0] as $i => $match){
if(!in_array($k,array('limit','limistart')) || is_numeric($matches[3][$i])){
$url = str_replace($matches[0][$i],$matches[1][$i].$k.$matches[2][$i].$v,$url);
$done = true;
break;
}
}
if(!$done){
$start = '?';
if(strpos($url,'?')!==false){
$start = '&';
}
$url.=$start.$k.'='.$v;
}
}
}else{
$start = '?';
if(strpos($url,'?')!==false){
$start = '&';
}
$url.=$start.$k.'='.$v;
}
}
return $url;
}
in the file components/com_hikashop/views/product/view.html.php and that should fix the problem.