Andes Posted May 19, 2011 Share Posted May 19, 2011 Version : 1.4.1Module modifié : BlockcategoriesBonjour, je viens faire appel à vous car je rencontre un problème assez bizarre pour ma part.En fait je souhaite intégrer un menu jquery à la place du menu blockcategories actuel. Jusque là aucun soucis, pour tester rapidement, j'ai juste ajouter mon code html dans le "blockcategories.tpl", mon script marche sans problème, le seul problème rencontré est la redirection des liens. En fait lorsque je clique sur un lien rien ne se passe, alors que si je clic droit dessus puis j'ouvre dans un nouvel onglet, la cible s'ouvre bien...Je vous avouerai que je ne comprends vraiment pas du tout d'où peut provenir le problème, ou alors je suis passé à côté d'une base de PS :/ si une âme charitable aurait la gentilesse m'éclairer... Merci bien. Link to comment Share on other sites More sharing options...
Andes Posted May 20, 2011 Author Share Posted May 20, 2011 Personne pour m'aider ? Pour ceux que ca intéresserait le code insérer à la place de l'ancien dans le blockcategories.tpl [removed][removed] [removed][removed] [removed] $(document).ready(function(){ $('#menu').menuvertical(); }); [removed] <!-- Block categories module --> {l s='Navigation' mod='blockcategories'} Accueil Categorie 2 sous menu 1 sous menu 2 sous menu 3 Contact Link to comment Share on other sites More sharing options...
Andes Posted May 24, 2011 Author Share Posted May 24, 2011 Suis-je dans la mauvaise catégorie ? Je suis toujours bloqué, je suis presque sûr qu'il s'agit d'un léger problème qu'une personne aguerrie sur prestashop pourrait résoudre en 2 mins mais me concernant cela me dépasse totalement...J'ai remarqué que lorsque j'enlève le javascript du .tpl, les liens remarchent, le problème et que lorsque j'insère mes balises script dans le header.tpl de mon thème le script ne marche pas... Il y a t-il une manip de spéciale à effectuer lorsque l'on souhaite intégrer du js sur prestashop ?Pour info voici les fichiers et code que je dois appeler : $(document).ready(function(){ $('#menu').menuvertical(); }); Link to comment Share on other sites More sharing options...
Atch Posted May 24, 2011 Share Posted May 24, 2011 Bonjour,Normal, dés lors que l'on met du code avec des {} dans des tpl, Smarty interprete cela comme une des ses variables... Mais ne connaissant pas celle ci, il plante...pour éviter cela, mettez {literal}votre script{/literal} comme cela smarty n’interprétera pas cela comme du code à lui.V++Atch Link to comment Share on other sites More sharing options...
Andes Posted May 24, 2011 Author Share Posted May 24, 2011 Merci de votre réponse, je ne l'avez pas précisé mais j'avais déjà essayé le {literal}{/literal}, cela ne change rien au problème, j'ai essayé de placer les balises {literal} à des endroits différentes par rapport au script sans succès... Le problème vient bien cette partie : {literal} $(document).ready(function(){ $('#menu').menuvertical(); }); {/literal} Dès que je l'enlève les liens marchent correctement au détriment du fonctionnement du script.Le problème persiste donc ... Link to comment Share on other sites More sharing options...
Andes Posted May 26, 2011 Author Share Posted May 26, 2011 Désolé d'être comme un morpion mais je suis toujours face à ce problème... :/ Link to comment Share on other sites More sharing options...
Atch Posted May 26, 2011 Share Posted May 26, 2011 peut etre un conflit de jquery... Vous appelez un jquery alors que Prestashop en appel un autre....puis votre script menu, faut peut etre le place dans la balise <head>, ché pas, testez tout, c'est comme ça que l'on y arrive.V++Atch Link to comment Share on other sites More sharing options...
Andes Posted May 26, 2011 Author Share Posted May 26, 2011 Merci de votre réponse, j'ai déjà essayé tout ce que vous avez dit sans succès :- j'ai enlevé l'appel de mon "jquery-1.4.2.min.js", le script semble fonctionner avec la version native de prestashop donc il ne devrait pas il y avoir de conflit.- lorsque je place le script ci-dessous dans le <head> celui-ci ne marche plus {literal} $(document).ready(function(){ $('#menu').menuvertical(); }); {/literal} - n'y a t il pas moyen de remplacer les {literal} par autre chose ? Car ceux ci n'ont aucun impact sur le code après plusieurs tests... Link to comment Share on other sites More sharing options...
Andes Posted May 27, 2011 Author Share Posted May 27, 2011 Re, et encore désolé mais une personne aurait-elle l'amabilité de m'indiquer comment insérer ce code dans le tpl avec un moyen similaire au {literal} ou alors me renvoyer une explication sur l'insertion de js dans le header...Encore Merci. Link to comment Share on other sites More sharing options...
Broceliande Posted June 1, 2011 Share Posted June 1, 2011 Quote Re, et encore désolé mais une personne aurait-elle l'amabilité de m'indiquer comment insérer ce code dans le tpl avec un moyen similaire au {literal} ou alors me renvoyer une explication sur l'insertion de js dans le header...Encore Merci. Pour moi il faut commencer par analyser le code généré. J'ai l'impression que jusque là on cherche trop loin , alors que si on regarde juste : sous menu 1 On voit de suite qu'il s'agit d'un lien relatif , et que d'emblée , si on l'exécute à partir d'une page cms avec rewrite activé , ça ne marchera pasOn devrait obtenir : sous menu 1 Si le code javascript se base sur le href pour construire un lien il y a de grandes chances qu'il se plante.Après c'est déja un point à corriger pas forcémént la solution à tous tes maux , mais Andes , comme tu m'as PM pour que je jette un oeil à ce post , je le découvre seulement et je fais un premier jet ... Link to comment Share on other sites More sharing options...
Andes Posted June 1, 2011 Author Share Posted June 1, 2011 Merci de cette réponse Malheureusement, j'ai déjà essayé avec des liens absolues... De toutes les choses que j'ai tenté, la seule fois où les liens marchent c'est lorsque j'enlève cette partie du code : $(document).ready(function() { $('#menu').menuvertical(); } ); J'ai essayé avec les {literal} comme me l'a conseillé Atch mais sans succès, j'ai cru comprendre qu'avec smarty 3, ils n'avaient plus aucun effet... Merci encore de prendre du temps pour m'aider ! Link to comment Share on other sites More sharing options...
Broceliande Posted June 1, 2011 Share Posted June 1, 2011 les {literal} marchent toujours en smarty 3 , mais sont dépréciés , c'est à dire qu'il est conseillé d'agir autrement....mais ça je viens encore de détailler comment dans un autre post, une énième fois alors je la refais pas ... mais facile à trouver Je pense que tu gagnerais à nous fournir un lien , même en privé s'il le faut, ainsi que le module incriminé , si véritablement tu souhaites qu'on y apporte une solution. Que ce soit Atch , moi , ou un autre , sans la matière , sans les outils , on peut pas bosser Tu m'as contacté en PM pour que je jettes un oeil ici , ce que j'ai fais , mais à l'aveugle , tu comprends, on fait pas grand chose, à part des tas de lignes pour rien . Quand la solution est peut être toute simple (c'est souvent le cas, et on en parlait justement ce matin avec atch).... Link to comment Share on other sites More sharing options...
Andes Posted June 7, 2011 Author Share Posted June 7, 2011 Re, je t'ai envoyé un mp il y a quelques jours et je viens de m'aperçevoir que celui-ci à du passer au travers, je ne l'ai pas dans mon dossier sent ^^, je pouvais toujours attendre je me permets de retranscrire ici le contenu approximativement :ci-dessous la boutique avec le script (les liens ne pointent donc pas directement) :http://www.prestaweb.net/creation/garmiche/le script en question : $(document).ready(function() { $('#menu').menuvertical(); } ); ici, sans le script, les liens marchent bien :http://www.prestaweb.net/creation/garmiche2/voici le code complet de la partie en question : $(document).ready(function() { $('#menu').menuvertical(); } ); <!-- Block categories module --> {l s='Navigation' mod='blockcategories'} Accueil Categorie 1 Fournitures exemple sous menu 2 sous menu 3 Categorie 2 sous menu 1 sous menu 2 sous menu 3 Contact <!-- /Block categories module --> Voila, en espérant vous avoir suffit assez d'éléments. Je vous remercie ! Link to comment Share on other sites More sharing options...
Broceliande Posted June 7, 2011 Share Posted June 7, 2011 Salut,Désolé oui je ne peux pas répondre à tous les PM qu'on m'envoie.J'ai regardé ton script et tes pages.Le script se charge d'intercepter le click sur un lien , et de charger le contenu cible dans un élément de la page (div par ex) qui a l'id id="contenu" .Je ne sais pas très bien ce que tu veux faire, mais il me semble que tu dois modifier cette partie de code (ça ne passera sans doute pas entièrement ici sur le forum) : //Si il y a une page à charger if(nom){ $('#contenu').load(nom, function(response, status, xhr) { if (status == "error") { var msg = "Aucune page à charger"; //$("#contenu").html(msg + xhr.status + " " + xhr.statusText); //On va regarder si une div existe var nomdiv = nom.substring(0,nom.lastIndexOf('.')); //alert(nomdiv); $("#contenu div").each(function(i){ $(this).slideUp('slow'); }); $('#contenu div#'+nomdiv).slideDown('slow'); } }); } à la place tu devrais plutot avoir un truc du genre : //Si il y a une page à charger if(nom){ location.href=($(this).attr('href')); }); } Edit :J'ai aussi vu passer un truc dans ton code (note bien le / devant category dans la deuxième section de code): Fournitures exemple c'est un lien relatif. Si c'est du presta , dans les pages cms ou les sous catégories le lien marchera pas. On devrait avoir : Fournitures exemple Link to comment Share on other sites More sharing options...
Broceliande Posted June 7, 2011 Share Posted June 7, 2011 PS: J'ai testé en live sur ton site dans la console js , no problemo ça tourne avec le code que je t'ai donné Link to comment Share on other sites More sharing options...
Andes Posted June 8, 2011 Author Share Posted June 8, 2011 Grand merci Broceliande !Je me permets juste de modifier le bout de code ci-dessus en enlevant " }); " ce qui donne : //Si il y a une page à charger if(nom){ location.href=($(this).attr('href')); } Encore Merci, tu me sors d'un sacré trou parce que le js et moi, c'était perdu d'avance !(sinon juste pour info comment fais-tu pour essayer du code js en live sur un site distant, extension FF ? Encore merci ! ) Link to comment Share on other sites More sharing options...
Broceliande Posted June 8, 2011 Share Posted June 8, 2011 js distant , la console js de firebug pour ffMais tu as tout en natif dans chrome avec une console vraiment rapide et un moteur js qui a fait ses preuves. Link to comment Share on other sites More sharing options...
Andes Posted June 9, 2011 Author Share Posted June 9, 2011 D'acc ! Je vais donc essayer ça ! Je te remercie encore pour tout ! 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