Jump to content

Problème url pagination


Recommended Posts

Bonjour à tous ! Je me permets de m'adresser à vous aujourd'hui car je rencontre un petit souci.

Voilà j'ai donc ma boutique sous prestashop 1.4.7 par contre j'ai un bug au niveau de la pagination.

 

Lorsque j'arrive sur une page de catégorie et que je passe sur la seconde page, aucun problème. Par contre lorsque je veux passer de la seconde page à la troisième, j'ai des "&" qui s'ajoute dans l'url exemple :

?p=2 (passage première seconde page, nickel)

?&p=3 (passage deuxième à la troisième page)

?&&p=4 (passage troisième à la quatrième page)

et ainsi de suite. J'ai également un bug lorsque je fais un order by en deuxième page et que je passe en troisième page :

?&orderby=price&orderway=desc&p=3

 

Je pense qu'il faut que je modifie Link.php mais je ne vois pas trop où ni comment...

 

Quelqu'un aurait il déjà eu ce souci ?

 

------------------

edit :

 

J'ai réussi à ce que le & ne se duplique plus de page en page mais il apparait toujours une fois :

?p=2 (passage première seconde page, nickel)

?&p=3 (passage deuxième à la troisième page)

?&p=4 (passage troisième à la quatrième page)

etc...

Comment supprimer ce & ?

dans le link.php j'ai changé cette ligne :

public function goPage($url, $p)

{

return $url.($p == 1 ? '' : (!strstr($url, '?') ? '?' : '&').'p='.(int)($p));

}

en

public function goPage($url, $p)

{

return $url.($p == 1 ? '' : (!strstr($url, '?') ? '?' : '').'p='.(int)($p));

}

 

mais supprimer le &amp me fait tout bugger lorsque je souhaite changer le nombre de produits par page ou en sélectionnant un ordre...

 

Si quelqu'un à déja rencontré ce souci...

 

Merci !

Edited by sarah0173 (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 3 months later...
  • 2 months later...

Bonjour

 

si le problème est toujours là, j'ai trouvé ça pour mon site :

 

dans le fichier classes/link.php remplacer la ligne ( vers la ligne 376 sur fichier d'origine ) :

 

return $url.($p == 1 ? '' : (!strstr($url, '?') ? '?' : '&').'p='.(int)($p);

 

par

 

return str_replace('&&','&',$url.($p == 1 ? '' : (!strstr($url, '?') ? '?' : '&').'p='.(int)($p)));

 

Pour moi, ça a marché. merci de me dire si cela a marché de votre côté. Ca ne supprime pas le signe & mais ça le limite à une fois seulement dans l'url

 

bonne journée

Link to comment
Share on other sites

Merci pour la réponse, oui j'y suis arrivée, en modifiant le fichier FrontController.php, moi ça supprime le &

Si ma mémoire est bonne, vers la ligne 577 j'ai remplacé

$current_url = preg_replace('/(\?)?(&)?p=\d+/', '$1', $current_url);

par

$current_url = preg_replace('/(\?)?(&)?p=\d+/', '$1');

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...