Jump to content

Problème intégration jquery dans prestashop


Recommended Posts

Bonsoir,

J'utilise la version 1.3.7 de Prestashop.
Pour un de mes sites, j'aimerai mettre un plugin jquery. Le problème lorsque j'installe les scripts, mon site reste blanc, le logiciel s'arrête.

Voulez vous plus d'infos ?

Je vous remercie d'avance.

Link to comment
Share on other sites

Bonjour,

Merci de votre réponse.
Effectivement, je viens de m'apercevoir que le plugin jquery utilise la version 1.3 :

src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js">


Même si la librairie est chargée depuis internet, il y a conflit avec celle présente en local ?

Ce n'est pas la première fois que ça m'arrive mais je n'ai jamais su comment traiter le problème.

Je vous laisse le plugin en pièce jointe si cela vous intéresse.

Je vous remercie !

Julien

jquery.featureList-1.0.0.zip

Link to comment
Share on other sites

J'ai inséré le js dans le dossier js du repertoire racine.
J'ai vu qu'on pouvait le mettre dans le répertoire js du thème.

Mais le problème, c'est que lors de l'appel du plugin, plus de site prestashop, juste une page blanche.

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

pardonnez-moi de m'immiscer dans la conversation, mais j'ai exactement le même problème !

Je cherche à intégrer un slider jQuery pour que mes clients puissent sélectionner un prix directement depuis un slider type "range" (avec deux poignées). Le slider utilise jQuery 1.3.2 minimum, or la version qu'utilise PrestaShop (en tous cas, dans sa version 1.3.0.10) est jQuery 1.2.6 : peut-être que cela vient de là ?

Remarque : lorsque j'intègre mes bibliothèques jQuery et jQuery UI directement dans le fichier PHP de mon choix, le slider s'affiche bien, mais sous IE, tout est décalé ! Et, comme Julien, lorsque j'intègre mes bibliothèques "proprement" dans le header, la page reste blanche...

Donc tout comme Julien, j'attends avec impatience les réponses des sages de PrestaShop :) merci d'avance.

Link to comment
Share on other sites

Bonjour Benjamin,

Vous avez bien raison d'avoir posté ! Je suis bloqué en ce moment à cause de ça c'est terrible !
J'ai été voir votre site, très joli, vraiment !

est-il possible de savoir où vous avez trouvé votre slider sur votre page d'accueil ?
Il m'intéresse beaucoup.

Merci Benjamin,

Cordialement,

Julien

Link to comment
Share on other sites

En fait, lorsque je parlais de "slider" que je voulais intégrer, il s'agit de ce slider en jQuery : http://jqueryui.com/demos/slider/#range

Pour le slider qui est déjà intégré sur la page d'accueil (celui qui fait défiler les catégories de cadeaux, c'est bien ça ?), il a en fait été réalisé par la précédente équipe de web-designers qui s'est chargée de tout le design global du site. Je vais tenter de me renseigner aujourd'hui sur la méthode et la technologie utilisée, et je vous en ferai part si je trouve !

Link to comment
Share on other sites

Ah d'accord !

Pour le slider (ou carrousel ?) qui m'intéresse, c'est celui où il y a une pub pour so colissimo, Fred and Friends, Le cadeau idéal etc...

S'il est possible de savoir s'il est opensource, ça serait génial.
Je vous remercie.

Julien

Link to comment
Share on other sites

Messieurs Bonjour,

Dure de répondre sans éléments plus concrets...

Oui si un script est prévu pour une certaine version de Jquery, c'est qu'il y a certainement une raison à cela.
Prestashop 1.4 utilise une des dernière version pour info.

Pour la page blanche :

Je ne sais pas ce que vous mettez dans vos TPL mais si dans votre bout de code il y a des { }, Smarty les interprète comme du code à lui et si ce qui est a l'intérieur ne lui dit rien, il bloque et c'est la page blanche.

Pour éviter cela, entourez vos scripts par {literal}votre script{/literal}.... Normalement, il devrait y avoir du mieux.

Edit : le slide utilisé sur le siteCadeau Maestro semble etre une réalisation de la société "Axome", c'est un module appelé blockfocushome

V++

Atch

Link to comment
Share on other sites

Merci pour ta réponse, Atch ! Malheureusement, j'ai toujours le même soucis.

Je souhaite par exemple intégrer le bout de code suivant dans mon header.tpl :

[removed]           
           $(function() {
           $( "#slider-budget" ).slider({
               range: true,
               min: 0,
               max: 200,
               values: [ 30, 90 ],
               slide: function( event, ui )
               {
                   $( "#montant" ).val( ui.values[ 0 ] + " à " + ui.values[ 1 ] + " euros" );
               }
           });
           $( "#montant" ).val( $( "#slider-budget" ).slider( "values", 0 ) + " à " + $( "#slider-budget" ).slider( "values", 1 ) + " euros" );
       });
       [removed]



Ainsi que jquery-1.5.1.min.js et jquery-ui-1.8.12.custom.min.js.

J'ai inséré ce script et les deux bibliothèques entre deux balises script, vu que dans ce même fichier, d'autres bibliothèques étaient intégrées de la même façon sans que cela pose de soucis (jquery-1.2.6.pack.js, jquery.easing.1.3.js...).

J'ai donc essayé ta technique en intégrant mon propre script entre des balises {literal}, mais rien n'y a fait (mon slider ne s'affiche toujours pas, alors que sur une page index.html isolée, il s'affiche parfaitement)... j'ai fait par exemple {literal}script.../script{/literal} ; ai-je bien procédé ?

EDIT : merci, je jetterai un oeil pour le blockfocushome pour Julien. Vous pouvez trouver la page où je fais mes tests ici [je vous mets le lien de la page "officielle" dès qu'elle sera terminée], le slider devant s'afficher dessous l'input de "Budget".

Link to comment
Share on other sites

J'ai trouvé comment résoudre le problème : la version de jQuery que j'utilise pour mon slider (v 1.5.1) rentre en conflit avec celle qu'utilise ma version de PrestaShop, c'est à dire la v1.2.6.

Perso, j'ai pu enlever la 1.2.6 de la page où j'ai besoin de l'autre version, car elle n'est pas utilisée sur cette page. Donc une solution pour tous ceux qui ont ce même problème serait d'utiliser un header.tpl alternatif sur toutes les pages où l'on a besoin d'appeler une version de jQuery plus récente. Ce header incluerait non pas jQuery par défaut de PrestaShop, mais "notre" version de jQuery.

Link to comment
Share on other sites

Bonsoir,

Alors, j'ai mis mon script :

[removed]
       $(document).ready(function() {

           $.featureList(
               $("#tabs li a"),
               $("#output li"), {
                   start_item    :    1
               }
           );

           /*

           // Alternative


           $('#tabs li a').featureList({
               output            :    '#output li',
               start_item        :    1
           });

           */

       });
   [removed]



dans le header.tpl.

Lorsque j'ajoute le {literal}{/literal}, tout s'affiche bien mais le script ne s'execute pas.
Lorsque je les enlève, la page devient blanche.

Est-ce normal ? Merci :)

Link to comment
Share on other sites

Je ne suis pas un expert, mais voilà ce que je peux te conseiller (et ça a fonctionné pour moi) :
=> balise {literal} avant $(document).ready(function() {
=> balise {/literal} après });
=> bien vérifier de ne pas inclure deux versions de jQuery différentes. Par exemple, j'utilise jquery-1.5.1.min.js et jquery-ui-1.8.12.custom.min.js, mais pour que cela fonctionne, j'ai dû enlever le jquery-1.2.6.pack.js fourni par défaut dans ma version de PrestaShop.

De plus, je vois une virgule après $("#output li") qui me semble louche... est-elle bien placée ?

En espérant que ça aidera !

Link to comment
Share on other sites

J'ai remplacé la version existante de Jquery par la 1.3.1 mais rien ne change...

J'ai bien mis les balises literal, pas de souci, jusque là tout va bien.

Je n'ai plus de page blanche mais j'ai comme l'impression que le script ne s'exécute pas.

Link to comment
Share on other sites

Malheureusement, je ne peux pas plus t'aider :\ une solution serait de faire des tests, par exemple sur une page tout seule dans un répertoire, pour voir si le code est bien valide "tout seul". Après, peut-être que d'autres script font des interférences...

J'espère que les sages de PrestaShop pourront t'en dire plus. Bon courage

Link to comment
Share on other sites

  • 1 month later...

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