Michel Poulain Posted January 18, 2011 Share Posted January 18, 2011 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 More sharing options...
Edern Posted May 3, 2011 Share Posted May 3, 2011 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 pageMerci d'avance pour ton retour ! Link to comment Share on other sites More sharing options...
Michel Poulain Posted May 3, 2011 Author Share Posted May 3, 2011 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.4Tu 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 More sharing options...
Edern Posted May 3, 2011 Share Posted May 3, 2011 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 More sharing options...
Michel Poulain Posted September 20, 2011 Author Share Posted September 20, 2011 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now