Jump to content

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 ?

Link to comment
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.

Link to comment
Share on other sites

  • 4 weeks later...

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

Link to comment
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.
Link to comment
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.

Link to comment
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]
Link to comment
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 ?

Link to comment
Share on other sites

  • 2 months later...
  • 4 weeks later...

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
Link to comment
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.

@++

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
  • 5 weeks later...
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 :)
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 months later...
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 ?

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