Jump to content
Sign in to follow this  
LeGastronome

il existe des erreurs sur page dans IE

Recommended Posts

Bonjour,

Suite à maj 1.2.4
j'ai sous IE : Terminé, mais il existe des erreurs sur la page..
Ligne 128
Caractère 39

        $('document').ready( function() {
           $("#search_query").autocomplete(
               '/search.php', {
               minChars: 3,
               max:10,
               width:500,
               scroll: false,
               formatItem:formatSearch,
               extraParams:{ajaxSearch:1,id_lang:} (c'est ici que ca bug)
           }).result(redirectSearch)




Rien sous FireFox ou Opéra.... tout est ok

une idée ?

Share this post


Link to post
Share on other sites

Sous Firefox, tu peux voir l'erreur dans la console d'erreur (dans outils).
Ce code permet la recherche Ajax.

Le problème vient du fait que le fichier header.tpl contenu dans le module n'est pas inclus, et du coup les fonctions du module n'existent pas (d'où l'erreur javascript).

Pour le faire, il faut aller dans modules > positions > greffer un module.
Il faut alors choisir le module "block recherche rapide" et la position : "header of pages".

Ce problème peut aussi causer, la disparation des catégories dans le block catégorie.

Share this post


Link to post
Share on other sites

en fait il doit compléter le code avec le id_lang présent dans le cookie :

extraParams:{ajaxSearch:1,id_lang:{/literal}{$cookie->id_lang}{literal[spam-filter]

mais il retourne rien, et donc ça fait une erreur!

Pouvez vous me confirmer cela ?

Share this post


Link to post
Share on other sites

Est-ce que l'erreur est bien du type 'jquery.autocompleter is not a function' ?
Car, nous avons eu exactement le même problème et l'avons résolu de la manière décrite au dessus. L'avez-vous essayé ?

Share this post


Link to post
Share on other sites

Non le souci vient du fait que la ligne id_lang: est vide.

il faudrait un 1.

Je peux le mettre en dur, mais je comprends pas pourquoi il le récupère pas dans le cookie ?

Share this post


Link to post
Share on other sites

Bonjour,

je me permets d'intervenir sur ce sujet au lieu d'en faire un nouveau. Suite à installation de la version 1.2.5, le module quick search se décale un peu par rapport à avant. Comme j'avais la 1.1 avant, il se peut que ce problème date de la première version 1.2.

J'obtiens deux erreurs dans firebug

swfobject is not defined
[break on this error] <!--\nwww.monsite.com (ligne 63)

Ca c'est sans doute pour mon bandeau flash. Mais ils 'affiche correctement.

Par contre la deuxième semble coïncider avec ce que vous décrivez.

syntax error
[break on this error] extraParams:{ajaxSearch:1,id_lang:}\n

Si je supprime le bloc search en le désinstallant, ça enlève l'erreur. Par contre en le réinstallant l'erreur persiste.
Je n'arrive pas à greffer le module quick search dans le header. C'est grisé. De plus, il va sans dire que plus aucun produit d'est trouvé en tapant dans la barre de recherche.

Merci de votre aide, la mise à jour m'a pris une journée et je me demande si cette erreur est grave.

Cordialement,

Alex

Share this post


Link to post
Share on other sites
Non le souci vient du fait que la ligne id_lang: est vide.

il faudrait un 1.

Je peux le mettre en dur, mais je comprends pas pourquoi il le récupère pas dans le cookie ?



J'ai rencontré le même pb (v1.2.5 également) et je l'ai résolu en remplaçant {$cookie->id_lang} par {$language.id_lang}
Pour ne pas toucher les fichiers sources de PS, j'ai créé un répertoire modules/blocksearch dans mon thème et y ai recopié les 3 .tpl originaux. J'ai ensuite modifié les 2 templates blocksearch-top.tpl et blocksearch.tpl.

Share this post


Link to post
Share on other sites

merci jvilla,

Peux-tu simplement me dire de quelle manière PS va chercher dans le répertoire /modules/ que tu crées, j'ai vu cela sur plusieurs sujets. A quel moment ce répertoire est pris en compte et en quoi cela contourne le problème ?

De quelle manière modifies-tu les deux tpl : blocksearch-top.tpl et blocksearch.tpl ?
Pas facile de résoudre les problèmes sans vous.

Share this post


Link to post
Share on other sites

Peux-tu simplement me dire de quelle manière PS va chercher dans le répertoire /modules/ que tu crées, j'ai vu cela sur plusieurs sujets. A quel moment ce répertoire est pris en compte et en quoi cela contourne le problème ?

Les templates situés dans /themes//modules// ont priorité sur les templates d'origine livrés avec le module (dans /modules/

De quelle manière modifies-tu les deux tpl : blocksearch-top.tpl et blocksearch.tpl ?
Pas facile de résoudre les problèmes sans vous.


Dans les 2 templates en question j'ai modifié la ligne :
extraParams:{ajaxSearch:1,id_lang:{/literal}{$cookie->id_lang}{literal[spam-filter]
en
extraParams:{ajaxSearch:1,id_lang:{/literal}{$language.id_lang}{literal[spam-filter]

Share this post


Link to post
Share on other sites

Bonjour, j'ai bien essayé les deux méthodes :

Remplacer :
{$cookie->id_lang}
par
{$language.id_lang}

Et greffer le bloc dans Header of pages mais le problème persiste ....

Fire bug me dit : syntax error
[break on this error] extraParams:{ajaxSearch:1,id_lang:}\n

Et dreamweaver n'aime-pas non plus la ligne en question ....

Suis-je le seul ?

Share this post


Link to post
Share on other sites

@LeGastronome : merci, mais j'ai rien compris ...!

Share this post


Link to post
Share on other sites

ok, pour moi ajaxSearch:1 ça veut dire que l'ajaxSearch est à true et on passe en parmaètre l'id_lang, sauf que l'id-lang, chez moi, n'est pas substitué, mais peut-être que j'ai rein compris ...!

Share this post


Link to post
Share on other sites

ah yes.

je me suis planté dans mon explication.

effectivement ajaxsearch 1 = activé
et tu retourne rien pour la langue... même prob qu'a l'origine.
Tu as essayé la technique de modification des tpl ?

Share this post


Link to post
Share on other sites

Remplacer :
{$cookie->id_lang}
par
{$language.id_lang}

Dans les deux .tpl du blocksearch, vivi j'ai essayé ! Ça change rien, il prend pas id_lang ....

Share this post


Link to post
Share on other sites

merci pour tes réponses, je vois bien dans firebug que la variable n'est pas substituée et je ne trouve pas comment la renseigner "en dur" (le site est monolingue), je n'ai pas la bonne syntaxe.

Share this post


Link to post
Share on other sites

idem pour l'erreur avec la dernière version de prestashop

j'ai Remplacer :
{$cookie->id_lang}
par
{$language.id_lang}

et toujours l'erreur dans Firebug

Share this post


Link to post
Share on other sites

Pareil pour moi aucune des solutions données ne fonctionne, n'y aurait-il pas quelqu'un qui pourrait nous aider à résoudre ce problème avec le Blocksearch?

Si je vire la ligne l'autocomplétion réapparais mais ne m'affiche que "undefined > undefined" donc ce code pose bien un problème au niveau javascript !

Pour rappel c'est cette ligne qui pose problème:

extraParams:{ajaxSearch:1,id_lang:{/literal}{$cookie->id_lang}{literal[spam-filter]



Si je modifie cette ligne comme ceci:

extraParams:{ajaxSearch:'1',id_lang:'{/literal}{$cookie->id_lang}{literal}'},



je n'ai plus de message d'erreur dans firebug mais sa ne fonctionne toujours pas, par contre j'ai cette erreur:

La propriété « charCode » d'un événement « keydown » ne doit pas être utilisée. Cette valeur n'a pas de sens.


mais dans les fichier contenu dans le dossier blocksearch je n'arrive pas à trouver l'evenement keydown d'ailleurs je ne comprend pas comment cette fonction est appelé si dans le input type="text" il n'y as pas cette evenement , je rappel que je débute sur prestashop
merci

Share this post


Link to post
Share on other sites

Bon après de multiples éssaie voici le code qui fonctionne chez moi:

extraParams:{ ajaxSearch:1, id_lang: '2' },


Avec ce code l'autocomplétion fonctionne bien mais j'ai toujours l'erreur La propriété « charCode » d'un événement « keydown » ......
J'ai du mettre l'id en dur pour que ça fonctionne ce qui veut dire que ni la variable {$language.id_lang} ni {$cookie->id_lang} ne passe dans le module BlockSearch je connais pas assez prestashop pour dire pourquoi et comment cette variable est initialisé , pour le moment sa fonctionne et j'ai encore plein d'autres erreur javascript à voir dès que je comprendrais un peux mieux le fonctionnement de prestashop et que j'arriverais à initialiser cette variable dans le module de façon prestashop compliant je repasserais donner le code.

@++

Share this post


Link to post
Share on other sites

Avez-vous trouvé une solution pour cette erreur ?
J'ai le même problème.

Share this post


Link to post
Share on other sites
Sous Firefox, tu peux voir l'erreur dans la console d'erreur (dans outils).
Ce code permet la recherche Ajax.

Le problème vient du fait que le fichier header.tpl contenu dans le module n'est pas inclus, et du coup les fonctions du module n'existent pas (d'où l'erreur javascript).

Pour le faire, il faut aller dans modules > positions > greffer un module.
Il faut alors choisir le module "block recherche rapide" et la position : "header of pages".

Ce problème peut aussi causer, la disparation des catégories dans le block catégorie.


Bravo, cela résoud en effet ces mêmes problèmes survenus sur mon site...
Merci :)

Share this post


Link to post
Share on other sites

Remplacer

{$cookie->id_lang}

par

{if $lang_iso=="fr"}2{/if}{if $lang_iso=="en"}5{/if}{if $lang_iso=="it"}6{/if} dans blocksearch.tpl et blocksearchtop.tpl


Dans la formule remplacer 2, 5, 6 par les id respectifs de vos langues.

Share this post


Link to post
Share on other sites
Remplacer
{$cookie->id_lang}

par

{if $lang_iso=="fr"}2{/if}{if $lang_iso=="en"}5{/if}{if $lang_iso=="it"}6{/if} dans blocksearch.tpl et blocksearchtop.tpl


Dans la formule remplacer 2, 5, 6 par les id respectifs de vos langues.


Merci pour cette réponse.
Je me permet de proposer une amélioration :
{if $cookie->id_lang}{$cookie->id_lang}{else}{$id_lang}{/if}


Ce que je veux faire :
Si on n'a pas d'id_lang enregistré dans les cookie, on utilise l'id_lang du serveur.

Je suis débutant. Est-ce quelqu'un peut confirmer que c'est correct ?

Share this post


Link to post
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
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More