EtapDesign Posted August 23, 2012 Share Posted August 23, 2012 (edited) 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. Edited August 28, 2012 by EtapDesign (see edit history) Link to comment Share on other sites More sharing options...
EtapDesign Posted August 23, 2012 Author Share Posted August 23, 2012 (edited) 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. Edited August 23, 2012 by EtapDesign (see edit history) Link to comment Share on other sites More sharing options...
SiteProjet Posted August 24, 2012 Share Posted August 24, 2012 Il arrive que le JS ne soit plus correctement interprété lorsque vous essayez d'importer la librairy jquery alors que Prestashop la charge déjà (CF plusieurs sujets avec ce soucis dans ce même forum). Sinon, si vous avez d'autres scripts sur la page qui agissent sur une balise avec une id donnée, alors il se peut en effet que le soucis vienne du CSS avec un conflit de nommage. Link to comment Share on other sites More sharing options...
Jal-art Posted August 24, 2012 Share Posted August 24, 2012 Bonjour, Télecharge le module Socolissimo dans les Addons de prestashop et remplace le par celui fournit avec la 1.4.8.3, il me semble que cette version semble avoir un petit soucis. Pour moi en tout cas ça a marché. Cdt Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 Merci pour vos réponses mais grâce à Jeckyl, qui m'a aidé sur un autre forum mais qui est présent sur celui-ci, j'ai réussi à corriger le tir en transférant le dossier js/ du thème par défaut de prestashop par celui de mon thème. En effet, c'est finalement les fichiers javascript de mon thème qui étaient compatibles seulement avec des versions antérieurs à celle de 1.4.8. Merci pour vos remarques. Cordialement. Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 (edited) Bonjour, J'ai du me pencher d'avantage au problème étant donné que malgré que colisimmo fonctionne, d'autres développements que j'avais fais antérieurement ne marchent plus. J'ai donc trouvé les deux fichiers qui permettaient le bon fonctionnement du site et celui de colisimo: 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. Je me suis donc intéressé au fichier order-adress.js puisque tout vient de là, et je peux dire deux choses: L'affichage des adresse se fait grâce à début de code : $(document).ready(function() { updateAddressesDisplay(true); }); Mais ne permets pas le fonctionnement de colisimo Cet autre début de code: $(document).ready(function() { if (typeof(formatedAddressFieldsValuesList) != 'undefined') updateAddressesDisplay(true); resizeAddressesBox(); }); permet le fonctionnement de so colisimo mais pas de l'affichage des adresses...Pourriez-vous m'aider à y comprendre d'avantage? Merci d'avance pour vos éventuelles réponses. Cordialement. Edited August 24, 2012 by EtapDesign (see edit history) Link to comment Share on other sites More sharing options...
SiteProjet Posted August 24, 2012 Share Posted August 24, 2012 (edited) Bonjour. Ca donne quoi avec ceci ? $(document).ready(function(){ updateAddressesDisplay(true);if (typeof(formatedAddressFieldsValuesList) != 'undefined')resizeAddressesBox();});[code] Edited August 24, 2012 by SiteProjet (see edit history) Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 (edited) Ben j'ai pas tout à fait résolu le soucis étant donné que l'affichage des adresse ne se fait pas à cause du fichiers order-adress.js...j'ai expliqué cela juste avant que vous postiez votre commentaire!:/ Edited August 24, 2012 by EtapDesign (see edit history) Link to comment Share on other sites More sharing options...
SiteProjet Posted August 24, 2012 Share Posted August 24, 2012 En effet nos messages se sont croisés. C'est édité Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 (edited) J'y croyais presque...ça affiche les adresses mais toujours erreur de javascript avec so colisimo :/...merci pour ta proposition. Edited August 24, 2012 by EtapDesign (see edit history) Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 (edited) En gros, ce fichier order-address.js permet l'affichage de colissimo sans erreur de javascript mais n'affiche pas les adresses: $(document).ready(function() { if (typeof(formatedAddressFieldsValuesList) != 'undefined') updateAddressesDisplay(true); resizeAddressesBox(); }); //update the display of the addresses function updateAddressesDisplay(first_view) { // update content of delivery address updateAddressDisplay('delivery'); var txtInvoiceTitle = ""; try{ var adrs_titles = getAddressesTitles(); txtInvoiceTitle = adrs_titles.invoice; } catch (e) { } // update content of invoice address //if addresses have to be equals... if ($('input[type=checkbox]#addressesAreEquals:checked').length == 1) { $('#address_invoice_form:visible').hide('fast'); $('ul#address_invoice').html($('ul#address_delivery').html()); $('ul#address_invoice li.address_title').html(txtInvoiceTitle); } else { $('#address_invoice_form:hidden').show('fast'); if ($('select#id_address_invoice').val()) updateAddressDisplay('invoice'); else { $('ul#address_invoice').html($('ul#address_delivery').html()); $('ul#address_invoice li.address_title').html(txtInvoiceTitle); } } if(!first_view) { if (orderProcess == 'order') updateAddresses(); } return true; } function updateAddressDisplay(addressType) { if (formatedAddressFieldsValuesList.length <= 0) return false; var idAddress = $('select#id_address_' + addressType + '').val(); buildAddressBlock(idAddress, addressType, $('#address_'+ addressType)); // change update link var link = $('ul#address_' + addressType + ' li.address_update a').attr('href'); var expression = /id_address=\d+/; link = link.replace(expression, 'id_address='+idAddress); $('ul#address_' + addressType + ' li.address_update a').attr('href', link); } function updateAddresses() { var idAddress_delivery = $('select#id_address_delivery').val(); var idAddress_invoice = $('input[type=checkbox]#addressesAreEquals:checked').length == 1 ? idAddress_delivery : $('select#id_address_invoice').val(); $.ajax({ type: 'POST', url: baseDir + 'order.php', async: true, cache: false, dataType : "json", data: 'processAddress=true&step=2&ajax=true&id_address_delivery=' + idAddress_delivery + '&id_address_invoice=' + idAddress_invoice+ '&token=' + static_token , success: function(jsonData) { if (jsonData.hasError) { var errors = ''; for(error in jsonData.errors) //IE6 bug fix if(error != 'indexOf') errors += jsonData.errors[error] + "\n"; alert(errors); } }, error: function(XMLHttpRequest, textStatus, errorThrown) {alert("TECHNICAL ERROR: unable to save adresses \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);} }); resizeAddressesBox(); } Et l'autre fichier .js order-address qui permet l'affichage des adresse mais erreur de javascript avec so colisimo: $(document).ready(function() { updateAddressesDisplay(true); }); //update the display of the addresses function updateAddressesDisplay(first_view) { // update content of delivery address updateAddressDisplay('delivery'); // update content of invoice address //if addresses have to be equals... var txtInvoiceTitle = $('ul#address_invoice li.address_title').html(); if ($('input[type=checkbox]#addressesAreEquals:checked').length == 1) { $('#address_invoice_form:visible').hide('fast'); $('ul#address_invoice').html($('ul#address_delivery').html()); $('ul#address_invoice li.address_title').html(txtInvoiceTitle); } else { $('#address_invoice_form:hidden').show('fast'); if ($('select#id_address_invoice').val()) updateAddressDisplay('invoice'); else { $('ul#address_invoice').html($('ul#address_delivery').html()); $('ul#address_invoice li.address_title').html(txtInvoiceTitle); } } if(!first_view) { if (orderProcess == 'order') updateAddresses(); } return true; } function updateAddressDisplay(addressType) { if (addresses.length <= 0) return false; var idAddress = $('select#id_address_' + addressType + '').val(); buildAddressBlock(idAddress, addressType, $('#address_'+ addressType)); // change update link var link = $('ul#address_' + addressType + ' li.address_update a').attr('href'); var expression = /id_address=\d+/; link = link.replace(expression, 'id_address='+idAddress); $('ul#address_' + addressType + ' li.address_update a').attr('href', link); } function updateAddresses() { var idAddress_delivery = $('select#id_address_delivery').val(); var idAddress_invoice = $('input[type=checkbox]#addressesAreEquals:checked').length == 1 ? idAddress_delivery : $('select#id_address_invoice').val(); $.ajax({ type: 'POST', url: baseDir + 'order.php', async: true, cache: false, dataType : "json", data: 'processAddress=true&step=2&ajax=true&id_address_delivery=' + idAddress_delivery + '&id_address_invoice=' + idAddress_invoice+ '&token=' + static_token , success: function(jsonData) { if (jsonData.hasError) { var errors = ''; for(error in jsonData.errors) //IE6 bug fix if(error != 'indexOf') errors += jsonData.errors[error] + "\n"; alert(errors); } }, error: function(XMLHttpRequest, textStatus, errorThrown) {alert("TECHNICAL ERROR: unable to save adresses \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);} }); } Après je m'y connais pas trop en javascript... Mais je crois bien que le gros soucis vient des premières lignes du code. Edited August 24, 2012 by EtapDesign (see edit history) Link to comment Share on other sites More sharing options...
SiteProjet Posted August 24, 2012 Share Posted August 24, 2012 Rebonjour. Vous avez un erreur un peu plus précise que celle-ci ? Erreur Fatale : Veuillez vérifier que le JavaScript est activé et recommencer l’opération. Là c'est pas forcément évident. Vous pouvez aussi utiliser FireBug en fixant des points d'arrêts pour contrôler l’exécution du script. Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 L'erreur dans la console juste avant que j'arrive sur la page qui indique "Erreur Fatale ...l'opération" est : ReferenceError: addresses is not defined [stopper sur une erreur] if (addresses.length <= 0) En effet, au début de mon code dans mon fichier thème : $(document).ready(function() { updateAddressesDisplay(true); }); Avec le thème par défaut prestashop : $(document).ready(function() { if (typeof(formatedAddressFieldsValuesList) != 'undefined') updateAddressesDisplay(true); resizeAddressesBox(); }); Cela marche, mais le soucis c'est qu'en plaçant ce code, l'affichage des adresse ne se fait plus comme je l'ai explicité plus haut..:/ Link to comment Share on other sites More sharing options...
SiteProjet Posted August 24, 2012 Share Posted August 24, 2012 (edited) Ca donne quoi en supprimant le resize ? $(document).ready(function() { if (typeof(formatedAddressFieldsValuesList) != 'undefined') updateAddressesDisplay(true); }); Sinon il faudrait s"intéresser à la fonction resizeAddressesBox() qui agit peut-être sur une classe de votre CSS déjà utilisé par votre thème. Edited August 24, 2012 by SiteProjet (see edit history) Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 Non si je l'enlève, les adresses ne s'affichent pas...j'avais déjà essayé...je vous laisse un lien vers le site, peut-être que vous visualiserez mieux la situation, http://www.shilton.fr/boutique-en-ligne-shilton/ Il faut bien sur arriver au stade la commande... Link to comment Share on other sites More sharing options...
SiteProjet Posted August 24, 2012 Share Posted August 24, 2012 Bonjour. En effet, on a très peu de précisions quant à l'erreur. Pourriez-vous retrouver la fonction resizeAddressesBox() et coller son code ici ? J'essaie de regarder cela ce soir pour voir si elle agit sur une classe en particulier. Cordialement. Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 C'est très sympas de votre part...la fonction resizeAddressesBox(), je la retrouve dans quel fichier? Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 Il faut savoir que là j'ai remplacé le fichier order-address.tpl par le thème par défaut de prestashop, à part si vous vouliez que je remette l'ancien, du coup je ne sais plus sur lequel effectuer la réparation. Link to comment Share on other sites More sharing options...
SiteProjet Posted August 24, 2012 Share Posted August 24, 2012 Avant d'entamer des recherches plus lourdes, j'aimerais m'assurer avec vous d'avoir bien compris le problème. Corrigez-moi sur les points suivants si je me trompe : _ 1 : le module n'a jamais marché sur votre thème actuel. Il n'a pas cessé de fonctionné suite à une modification de votre part. _ 2 : avec me thème par défaut tout marche parfaitement. _ 3 : Vous aviez essayé de supprimer le module pour le remplacer par la version suivante : http://addons.prestashop.com/en/shipping-logistics-delivery-prestashop-modules/1745-so-colissimo.html _ 4 Vous arrivez soit à afficher le transporteur, soit les adresses mais pas les deux. _ 5 Dans l'un des cas (lequel?) vous ne pouvez pas aller à l'étape suivante suite à une erreur javascript. Désolé pour la lourdeur de ces questions, mais comme je suis plusieurs topics en meme temps, j'ai parfois besoin d'une petite synthèse... De plus ça sera également fort utile à toute autre personne souhaitant vous aider. Merci Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 1- Le module n'a jamais marché sur le thème que j'ai actuellement, une erreur javascript est générée au moment d'arriver à la page des points relais. Par contre, l'affichage des adresse se fait correctement. 2- Non, avec le thème par défaut, le mdule colisimo marche parfaitement mais n'affiche pas les adresse à l'étape "adresse" lors de la commande. 3- Je n'ai pas supprimé le module, je l'ai installé directement dans le BO, étant donné que la dernière version était déjà disponible. Avec le thème par défaut de prestashop: Les adresses ne s'affichent pas mais le module so colisimo marche parfaitement Avec le thème que j'ai actuellement: les adresses s'affichent correctement mais le module so colisimo génère une erreur javascript au moment d'arriver à la page des points relais. Désolé pour le retard, je ne pouvais pas répondre avant étant donné que je ne suis pas chez moi. Merci pour votre aide. Cordialement. Link to comment Share on other sites More sharing options...
SiteProjet Posted August 24, 2012 Share Posted August 24, 2012 Je suis en train de faire les tests dans notre Labo pour reproduire votre bug. Cela donne quoi si vous passez en One Page Checkout ? Link to comment Share on other sites More sharing options...
EtapDesign Posted August 24, 2012 Author Share Posted August 24, 2012 C'est àdire en One Page Checkout? Dansvotre labo? Link to comment Share on other sites More sharing options...
SiteProjet Posted August 24, 2012 Share Posted August 24, 2012 Non non, dans votre back office, dans les préférence là où vous pouvez choisir le nombre d'étapes pour valider la commande, le mode guest, etc... Link to comment Share on other sites More sharing options...
EtapDesign Posted August 25, 2012 Author Share Posted August 25, 2012 Rebonjour, hier c'est justement ce que j'me disais,est ce que le thème par défaut de prestashop n'a pas moins d'étapes lors de la commande que le thème que j'utilises actuellement...Je n'arrive pas à trouver dans le BO > préférences et le choix du nombres d'étapes lors de la commande.. Link to comment Share on other sites More sharing options...
EtapDesign Posted August 25, 2012 Author Share Posted August 25, 2012 J'ai finalement trouvé mais lorsque jevais dans le panier en FO, erreur de javascript encore et toujours,je ne vais jamais m'en sortir.. Link to comment Share on other sites More sharing options...
EtapDesign Posted August 25, 2012 Author Share Posted August 25, 2012 J'aimerais sauter l'étape en plus adresse...elle ne sert à rien.. Link to comment Share on other sites More sharing options...
SiteProjet Posted August 25, 2012 Share Posted August 25, 2012 Bonjour. Etes-vous bien sur d'avoir la version du module que je vous ai indiqué ? Sur cette dernière, pas moyen de trouver une trace de la fameuse fonction resizeAddressesBox() Link to comment Share on other sites More sharing options...
EtapDesign Posted August 25, 2012 Author Share Posted August 25, 2012 J'ai bien la version 2.3 du module socolisimo oui et je ne trouve pas la fonction resizeAddressesBox dans les fichies de ce module non...en plus je viens de me renseigner mais il est préférable de faire le one page checkout comme vous me le suggériez au dessus que la commande en 5 étapes, c'est beaucoup trop long pour le client.. Link to comment Share on other sites More sharing options...
SiteProjet Posted August 26, 2012 Share Posted August 26, 2012 (edited) Bonjour. En effet, le One Page à me semble-t-il un taux de conversion supérieur à la version 5 étapes. Maintenant concernant votre soucis de javascript, impossible de reproduire le bug en Labo. Je ne peux que vous conseiller de voir ceci avec la personne qui vous a vendu le thème. Sinon vous pouvez aussi me joindre par MP et j'essaierais de regarder ça en accédant directement à votre boutique. Cordialement, SP. Edited August 26, 2012 by SiteProjet (see edit history) Link to comment Share on other sites More sharing options...
EtapDesign Posted August 27, 2012 Author Share Posted August 27, 2012 (edited) Re-bonjour: Récapitulatif de mes dernières manipulations: 1. Réinstallation du module So Colisimo sur Addons ( ne génère plus "Erreur Fatale de javascript...") Cependant, ne redirige pas l'utilisateur vers les points relais et se retrouve directement au moyen de paiement, et un conflit est également généré --> le menu de gauche ne s'affiche plus, des liens du panier déroulant qui ne s'affichent plus, etc. 2. J'ai donc ensuite transférer les deux fichiers order-address.js et tools.js du dossier js/ du thème par défaut de prestashop vers le dossier js/ de mon thème. Le menu réapparaît...le module so colisimo marche parfaitement, mais l'affichage des adresses lors de la commande à l'étape "adresses" ne se fait pas...j'ai tenté plusieurs modifications du fichier order-address.js mais elles ne s'affichent toujours pas. Edited August 27, 2012 by EtapDesign (see edit history) Link to comment Share on other sites More sharing options...
EtapDesign Posted August 28, 2012 Author Share Posted August 28, 2012 (edited) Re le gens, J'ai fini par réussir ce que je voulais en remplaçant également le fichier order-address.tpl du thème par défaut de prestashop par le fichier de mon thème. Un dernier soucis, une erreur était générée lorsque l'utilisateur quittait le fancybox, j'ai alors modifié le fichier fancybox.tpl en désactivant la fermeture de celle-ci: 'showCloseButton' : false, J'ai procédé de cette manière parce qu'il y a bien sûr un bouton "Retour" déjà présent sur le fancybox. Je remercie également de l'aide apporté de SiteProjet qui a suivi mon problème depuis le début. A bientôt. Cordialement. Edited August 28, 2012 by EtapDesign (see edit history) Link to comment Share on other sites More sharing options...
SiteProjet Posted August 28, 2012 Share Posted August 28, 2012 Avec plaisir. Merci pour ce retour. Et félicitation pour votre persévérance. En espérant que cela soit utile pour d'autres passants. Cordialement, SP. Link to comment Share on other sites More sharing options...
daliba Posted August 31, 2012 Share Posted August 31, 2012 Salut, j'ai un problème avec so collissimo j'ai tout fais et voilà le msg d'erreur que j'ai : Liste des erreurs SoColissimo : Error code: Missing signature quelqu'un pourrais il m'aider merci d'avance 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