Prestashop v.1.4.8 : Erreur Javascript avec So Colissimo

WRInaute occasionnel
Bonjour,

j'ai un gros soucis au moment de passer la commande, à l'étape frais de port où l'utilisateur choisit So Colissimo, lorsqu'il clique sur "suivant", un message apparaît :

Erreur Fatale : Veuillez vérifier que le JavaScript est activé et recommencer l’opération.

Après avoir contacté le support So Colissimo et enfin le support prestashop, personne a pu me venir en aide.

Quelqu'un aurait une idée d'où cela pourrait venir?

J'ai essayé quelques modifications :


1) Dans les fichiers tpl (error, redirect et fancybox), le code JS entre "$(document).ready(function() //" n'était pas pris en compte. En commentant les lignes, plus de soucis, cela fonctionnement correctement."

2) Dans le fichier Socolissimo.php
La ligne 410 est donc 'TRPARAMPLUS' => (int)($carrierSo->id),

Mais cela ne marche pas!

Merci beaucoup pour ceux ou celles qui me donneront des pistes pour résoudre ce problème, car je suis complètement coincé.

Cordialement.
 
WRInaute occasionnel
Merci de ta réponse.

J'ai aucune erreur qui est affichée dans la console de firebug sur firefox...
 
WRInaute occasionnel
Juste avant d'arriver à la page avec l'erreur javascript : dans la console ça indique:

ReferenceError: addresses is not defined
[Stopper sur une erreur]

if (addresses.length <= 0)
 
WRInaute occasionnel
D'après un opérateur de So Colissimo, l'erreur viendrait d'un conlit CSS à cause des modifications que j'ai faites...il a finalement peut-être raison étant donné qu'en mettant le site avec le thème par défaut de prestashop, cela marche parfaitement...Si quelqu'un pouvait m'aider..cordialement.
 
WRInaute discret
Bonjour,

Qu'avez vous modifié ????

Le plus simple est de reprendre la copie conforme du tpl d'origine car à tout les coup vous avez dû modifier l'id ou le name d'un block et donc plus pris en compte par javascript puisqu’il ne sait plus où récupérer l'information.

Modifiez juste le css et pas le code source sans savoir exactement ce que vous faites.
 
WRInaute occasionnel
Le soucis que j'ai modifié énormément de choses que ce soit au niveau des fichiers .tpl du thème mais aussi des fichiers css qui sont liés...je me vois pas tout refaire depuis le début.
 
WRInaute discret
Je ne vous demande pas de tout refaire mais juste 1 seul fichier à reprendre.

vous avez fait une erreur, vous ne savez pas la retrouver alors vous recommencez, c'est pas plus compliqué que cela.
 
WRInaute occasionnel
C'est à dire? un à un je prend un fichier d'origine prestashop et je le remplace par le fichier du thème jusqu'à trouver le problème?

Merci de ta réponse.
 
WRInaute discret
Commencez pas le fichier tpl qui ne fait pas ce que vous voulez puis vérifiez les js liés et ainsi de suite.

comment croyez vous que l'on puisse faire ?
 
WRInaute occasionnel
Ben en fait je vous répond cela parce que j'imagine pas toutes les combinaisons qui doivent exister entre les fichiers...donc faire ça un par un, je ne sais pas si ce serait vraiment efficace.

En ce qui concerne le module So Colissimo, je n'y ai pas touché du tout...après peut-être cela vient essentiellement des modifications que j'ai faites avec le fichier global CSS, allez savoir..je vais vérifier tout ça, ça va être un travail de longue haleine!

Merci pour ton aide.

Cordialement.
 
WRInaute discret
Bonjour,

comme cela fonctionne en changeant de template alors cela vient du template.

Mais je peux vous assurer que cela ne vient pas du fichier CSS mais peut être d'un identifiant CSS que vous auriez changé dans un des tpl du template.
 
WRInaute occasionnel
Je ne doute en aucun cas de vos dires étant donné que il m'est arrivé d'ajouter des identifiants.. dans certaines div de fichiers TPL, modifié je ne pense pas.

Dans un premier temps, je vais mettre sous un autre nom le template que j'ai téléchargé à l'origine pour voir si celui-ci déjà ne provoque pas d'erreur, et si c'est le cas remplacer petit à petit les fichiers que j'ai changé...pour voir l'origine du problème.

En ce qui concerne les fichiers javascript, je n'en ai modifié aucun.

Merci, tu m'as beaucoup éclairé.

Je reviendrais pour savoir si j'ai résolu le problème ...ou pas.
 
WRInaute occasionnel
Le pire arriva...le thème que j'ai utilisé pour le développement de mon site provoque également l'erreur!xxp

Ca change toute la donne...j'ai l'impression qu'il va falloir que je recommence de zéro..
 
WRInaute discret
ah soucis, cela vient souvent d'un fichier pas totalement identique à ta version car entre toutes les version 1.4 de prestashop il y a des incompatibilité dans les templates.

essaye de mettre les js du template de base de prestashop de ta version dans ce template des fois que cela suffise.
 
WRInaute occasionnel
Jeckyl, t'es énorme...rien à dire!T'es au top du top!

J'ai fais une copie de mon thème, et j'ai créé un thème TEST, j'ai transféré le dossier js/ du thème par défaut de prestashop sur le thème TEST et ça marche!

J'te remercie vraiment énormément étant donné que le support colissimo et Prestashop ne m'ont pas du tout aiguillé vers cette voie là.

En mettant les nouveaux fichiers javascript, ca ne va altérer les fonctionnalités que j'ai mises dans le thème?

Cordialement.
 
WRInaute discret
approfondi les tests mais logiquement tout devrait marcher, pardon, fonctionner.

mais je crois que tu aurais eu la réponse rapidement sur le forum de prestashop aussi.
 
WRInaute occasionnel
D'accord, je vais faire ça! Et nah j'ai posté également sur le forum...et je vous y ai déjà vu!;)

Merci encore à toi!

Bonne fin de soirée.
 
WRInaute occasionnel
Re-bonjour,

En fait, le fait de transférer tout le JS répare l'erreur de so colissimo mais entraîne beaucoup d'autres dans le site, je voulais savoir si un fichier JS suffisait finalement pour faire fonctionner so colissimo, ou c'est obligatoire qu'il faille tout transférer?

Cordialement.
 
WRInaute discret
Bonjour,

je ne sais pas mais en gros essayer de les mettre un par un pour trouver le bon qui corrige le soucis et ensuite essayez de ne mettre que celui là.
 
WRInaute occasionnel
Fiouuu, je suis enfin arrivé à trouver les deux fichiers qui me permettent d'avoir So Colissimo...et de garder tous les autres développements qui ont été faits précédemment.

Ces deux fichiers sont : order-adress.js et tools .js dans le dossier js/ du thème.

Tout est parfait, mais il me reste tout de même un soucis...c'est lorsque je changer le fichier order-adress.js, en effet, lorsque je prend celui par défaut de Prestashop, à la 3ème étape "adresse" pendant la commande, les adresses de livraisons ne s'affichent pas...Ce qui est quand même assez grave pour celui qui veut commande, elle s'affiche à l'adresse juste avant mais pas à cette étape-ci, peut-être faut-il maintenant carrément corriger l'erreur à l'intérieur du fichier..
 
WRInaute discret
Regarde l'id des champs et ceux réclamé dans le js pour les afficher car l'adresse doit bien y être mais ne s'affiche pas car le js ne change pas le statut hidden.

peut être que firebug t'en dira plus.
 
WRInaute occasionnel
Merci pour ta réponse!

J'ai essayé dans un premier temps de mettre directement les fichiers adress.tpl et adresses.tpl de la version par défaut vers mon thème mais ça ne marche pas, pourtant, ils correspondent au fichier JS par défaut de Prestashop.

J'ai donc commencé à regarde dans le JS, mais je t'avoue là, c'est devient assez compliqué.
 
WRInaute discret
Oui mais est ce qu'un autre JS ne plante pas avant ce qui bloque celui là.

que dit la console de Firebug ?
 
WRInaute occasionnel
On voit juste que la ligne :
<p id="address_invoice_form" class="select" style="display: none;">

n'est pas prise en compte!
 
WRInaute occasionnel
Je viens de constater que le fonctionnement de colissimo, ne dépend que des premières lignes, de plus, c'est ce morceau de code qui empêche l'affichage des adresses, je crois que le soucis vient de là:

Code:
$(document).ready(function()
{
	if (typeof(formatedAddressFieldsValuesList) != 'undefined')
		updateAddressesDisplay(true);
	resizeAddressesBox();
});

Mais lorsque je remplace ce morceau de code dans le fichier order-adress.js de mon thème, les adresses ne s'affichent pas mais le So colissimo marche.

Le fonctionnement de l'affichage des adresses est avec ce bout de code qui se trouve au début:

Code:
$(document).ready(function()
{
	updateAddressesDisplay(true);
});


Il ny a donc que deux lignes qui permettent le fonctionnement de l'un et pas de l'autre :

$(document).ready(function()
{

if (typeof(formatedAddressFieldsValuesList) != 'undefined')
updateAddressesDisplay(true);
resizeAddressesBox();
});
 
Discussions similaires
Haut