Jump to content

[ASTUCE] Redirection automatique lors d’une recherche avec un seul résultat


Recommended Posts

Je ne savais pas dans quelle catégorie poster ce message. Mais je tenais à partager ce code qui peut aider d'autres personnes sous Prestashop. Je voulais éviter une étape inutile pour le client : cliquer sur l'unique produit lors d'une recherche qui ne mène qu'à un seul résultat unique. Cette solution ne touche pas au cœur de Prestashop pour permettre des mises à jour.

Voilà. J'espère que cela pourra servir à d'autres utilisateurs de Prestashop et simplifier la vie des clients qui visitent les boutiques sous Prestashop.

Ce script Javascript doit être intégré dans le pied de page du site dans le template « footer.tpl » (ceci explique la présence des balises {literal} pour indiquer à Smarty de ne pas toucher au Javascript). Modifier le code selon votre thème si la redirection ne fonctionne pas. Ce code fonctionne avec le thème Prestashop par défaut.

{literal}

$(function() {

   // Redirection automatique pour 1 résultat de recherche
   if([removed].pathname=='/search.php' && $('ul#product_list li').length==1) {
     // Personnalisez la ligne ci-dessous pour récupérer l'URL en fonction de votre thème...
     [removed].href = $('ul#product_list li:eq(0) a:eq(0)').attr('href');
   }

});

{/literal}



Mise à jour : le forum de Prestashop ne permet pas d'échanger des astuces Javascript.
Dans le code, remplacez [removed] par window . location (sans espace)

Link to comment
Share on other sites

  • 3 months later...

Bonjour Michel,

Merci de partager ta trouvaille. Cependant je n'arrive pas à la mettre en place sur ma boutique. J'utilise la version 1.4.0.17 de PrestaShop.
Je n'ai pas bien compris ce qu'il fallait personnalisé pour adapter à mon theme (qui n'est pas celui par défaut).
Je ne sais pas si c'est à cause du problème de personnalisation, mais le code s'affiche en bas de page
Merci d'avance pour ton retour !

Link to comment
Share on other sites

Bonjour, comme je disais dans mon message, le forum Prestashop n'est pas du tout fait pour échanger du code. Le forum a supprimé pas mal de mon code. Si le code s'affiche en bas de ton site, c'est qu'il manque des balises.

Remplacer "(" par "<" et ")" par ">" dans le code suivant :
(script type="text/javascript") après la ligne {litteral}
et
(/script) avant la ligne {/literal}

Et dans le code même du script de mon précédent message, bien remplacer comme indiqué [removed] par window . location (sans espace)

Le pus simple est encore de faire appel à un développeur pour insérer cela proprement dans ton thème. Car je n'ai pas testé avec la version 1.4

Tu peux voir le résultat sur www.estrada.fr/search.php?search_query=Jobel La page de recherche s'affiche un bref instant avant de rediriger automatiquement vers le produit "Jobel".

Link to comment
Share on other sites

Merci pour ton retour rapide !
le code ne s'affiche plus et doit donc etre exécuté mais ça ne fonctionne pas..
Mon theme est en fait celui d'origine que j'ai personnalisé et dont j'ai changé le nom mais il garde la meme structure donc je pense que ça ne devrait pas poser de probleme de compatibilité.
Ce doit etre la version 1.4 qui pêche.. je posterai si jamais je trouve la solution.
Merci quand meme pour ton aide.

Link to comment
Share on other sites

  • 4 months later...

J'ai mis à jour le code pour qu'il ne pas s'active pas en cas de multi-pages et d'arrivée sur la dernière page qui n'aurait qu'un seul produit (bref c'est mieux).

 

 

{literal}

 

 

$(function() {

 

// Redirection automatique pour 1 résultat de recherche

if(window.location.pathname=='/search.php' && $('ul#product_list li').length==1

&& window.location.search.indexOf('&p=') == -1 ) {

// Personnalisez la ligne ci-dessous pour récupérer l'URL en fonction de votre thème...

window.location.href = $('ul#product_list li:eq(0) a:eq(0)').attr('href');

}

 

});

 

{/literal}

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...