cyssoo Posted November 16, 2015 Share Posted November 16, 2015 (edited) Bonjour, Voici un petit module Prestashop 1.6 (non testé version précédentes) qui aidera peut-être pas mal de monde utilisant le module Mondial Relay, lorsque les clients oublient de choisir leur point relais. Il crée un onglet dans "Préférences", qui vous emmène sur une page listant les points relais enregistrés dans la base de données dans la table mr_selected. Le module Mondial Relay doit donc impérativement être installé. Ainsi, vous allez pouvoir créer et modifier les entrées de cette table, pour débloquer rapidement la situation lorsque le client n'a pas choisi de point relais. Attention cependant : vous êtes responsable de votre site, de la base de données ainsi que des fichiers. Il ne s'agit que d'un petit module que j'ai jugé utile et bon de proposer ici. Merci de m'informer en cas de bug ou de soucis. Faites donc très attention aux données que vous ajoutez ou modifiez via ce module, cela est définitif et irréversible. evermr.zip Edited November 23, 2015 by cyssoo (see edit history) Link to comment Share on other sites More sharing options...
janpepu Posted November 17, 2015 Share Posted November 17, 2015 (edited) Merci pour ton module que je n'ai pas testé, il aurait été préférable que l'on ne puisse pas autoriser a faire suivant si aucun des points relay a été choisi ps 1.5.6.2 + fix Edited November 17, 2015 by janpepu (see edit history) Link to comment Share on other sites More sharing options...
janpepu Posted November 18, 2015 Share Posted November 18, 2015 Quelqu'un pour bricoler un bout de code svp Verification de l'id du transporteur avant que le bouton suivant fonctionne si id carrier = l'id carrier de mondial relay { on verifie l'existance du relayPointNum} si relayPointNum != '' {on active le bouton suivant} else {on affiche un message disant de choisir un point relay.} Link to comment Share on other sites More sharing options...
janpepu Posted November 18, 2015 Share Posted November 18, 2015 merci ca fonctionne Link to comment Share on other sites More sharing options...
JamesBen08 Posted November 23, 2015 Share Posted November 23, 2015 // If MR carrier selected, check MR relay point is selected too $('input[name=processCarrier], button[name=processCarrier]').click(function(){ var _return = !(PS_MRSelectedRelayPoint['carrier_id'] && !PS_MRSelectedRelayPoint['relayPointNum']); if (!_return) { console.log(' Check2 '); // alert(PS_MRTranslationList['errorSelection']); $.fancybox.open([ { type: 'inline', autoScale: true, minHeight: 30, content: '<p class="fancybox-error">' + PS_MRTranslationList['errorSelection'] + '</p>' }], { padding: 0 }); } carrier_check = $('input.delivery_option_radio:checked').val(); carrier_find = carrier_check.replace(',', ''); if( $('.PS_MRFloatRelayPointSelected').length == 0 && isMRCarrier(carrier_find) && _return != false) { console.log(' Check3 '); //alert(PS_MRTranslationList['errorSelection']); $.fancybox.open([ { type: 'inline', autoScale: true, minHeight: 30, content: '<p class="fancybox-error">' + PS_MRTranslationList['errorSelection'] + '</p>' }], { padding: 0 }); return false } return _return; }); Attention il faut que Fancybox soit chargé ne fonctionne pas avec l'OPC 3pom Bonjour , Ce bout de code va dans le mondialrelay.php ??? Link to comment Share on other sites More sharing options...
popeyerubis Posted November 25, 2015 Share Posted November 25, 2015 Bonjour, Est-ce que ce code oblige le client à choisir un point relais ? Car actuellement, si le client choisis la livraison en Mondial relay mais ne sélectionne pas de point relais, il peut malgré tout valider la commande ! Je dois donc le contacter ce qui n'est pas toujours évident et cela fait perdre du temps pour la livraison. Merci d'avance pour votre réponse. Link to comment Share on other sites More sharing options...
popeyerubis Posted November 25, 2015 Share Posted November 25, 2015 C'est votre bout de code qui m'intéresse alors Il faut copier votre code dans le .js ? Que voulez-vous dire par " il faut que fancybox soit chargé ne fonctionne pas avec l'OPC" ? Merci d'avance. Link to comment Share on other sites More sharing options...
Pascal13190 Posted December 3, 2015 Share Posted December 3, 2015 (edited) bonsoir, je suis nouveau sur prestashop. J'ai rencontré le problème ce matin d'une commande où le client n'a pas choisi de point relay. je ne fonctionne pas avec le widget mais en normal et MR est sélectionné comme transporteur par défaut car c'est celui sur lequel j'offre les frais de ports à partir d'un montant de commande. Mon module MR est en version 2.1.3 et le code proposé plus haut ne semble pas fonctionner. J'ai plusieurs fichiers .js, j'ai essayé dans pratiquent tous sauf gmap.js et jquery-1.6.4.min.js dans lequel faut-il greffer le bout de code et à quel endroit dans le fichier? et je relance aussi la question de popeyerubis Que voulez-vous dire par " il faut que fancybox soit chargé ne fonctionne pas avec l'OPC" ? il semble que le widget verifie qu'un point relay soit sélectionné (avant la modif que vous proposez), çà affiche une boite de dialogue mais çà marche pas au top car le widget ne s'ouvre pas à nouveau merci d'avance Edited December 3, 2015 by Pascal13190 (see edit history) Link to comment Share on other sites More sharing options...
Pascal13190 Posted December 3, 2015 Share Posted December 3, 2015 bonsoir, je suis nouveau sur prestashop. J'ai rencontré le problème ce matin d'une commande où le client n'a pas choisi de point relay. je ne fonctionne pas avec le widget mais en normal et MR est sélectionné comme transporteur par défaut car c'est celui sur lequel j'offre les frais de ports à partir d'un montant de commande. Mon module MR est en version 2.1.3 et le code proposé plus haut ne semble pas fonctionner. J'ai plusieurs fichiers .js, j'ai essayé dans pratiquent tous sauf gmap.js et jquery-1.6.4.min.js dans lequel faut-il greffer le bout de code et à quel endroit dans le fichier? et je relance aussi la question de popeyerubis Que voulez-vous dire par " il faut que fancybox soit chargé ne fonctionne pas avec l'OPC" ? il semble que le widget verifie qu'un point relay soit sélectionné (avant la modif que vous proposez), çà affiche une boite de dialogue mais çà marche pas au top car le widget ne s'ouvre pas à nouveau merci d'avance bon j'ai avancé un peu, voici les fonctions où il me semble que le test est fait on voit une différence dans la section après // If MR carrier selected, check MR relay point is selected too dans la version normale $(document).ready(function() { $('#form').submit(function() { return PS_MRCheckSelectedRelayPoint(); }); $('#toggleStatusOrderList').click(function() { toggleOrderListSelection(); }); $('#toggleStatusHistoryList').click(function() { toggleHistoryListSelection(); }); $('#generate').click(function() { generateTicketsAjax(); }); $('#PS_MRSubmitButtonDeleteHistories').click(function() { deleteSelectedHistories(); }); $('#PS_MRSubmitButtonPrintSelectedA4').click(function() { PS_MRSubmitButtonPrintSelected(4); }); $('#PS_MRSubmitButtonPrintSelectedA5').click(function() { PS_MRSubmitButtonPrintSelected(5); }); $('#PS_MRSubmitButtonPrintSelected10x15').click(function() { PS_MRSubmitButtonPrintSelected('10x15'); }); // Shipping method list $('.send_disable_carrier_form').click(function() { $(this).parent('form').submit(); }); // Configuration form page $('#MR_config_menu a').each(function() { $(this).click(function() { PS_MRDisplayConfigurationForm($(this).attr('id')); }); }) if (typeof(PS_MR_SELECTED_TAB ) != 'undefined') $('#MR_' + PS_MR_SELECTED_TAB + '_block').fadeIn('fast'); // Have the <li> elements centered (TODO: Change it using css if possible) if ($('#MR_config_menu').size()) { var width = $('#MR_config_menu').width(); // Take directly the ul width woudln't work var ul_width = 0; $('#MR_config_menu').find('ul > li').each(function() { var padding_left = parseInt($(this).css('padding-left').replace(/[^-\d\.]/g, '')); var padding_right = parseInt($(this).css('padding-right').replace(/[^-\d\.]/g, '')); ul_width += parseInt($(this).width()) + padding_left + padding_right; }); width = ((width - ul_width) / 2); $('#MR_config_menu').children('ul').css('margin-left', width + 'px'); } // 1.5 OPC Validation - Warn user to select a relay point $('.payment_module a').live('click', function() { if (typeof PS_MRData != 'undefined') { if (PS_MRData.PS_VERSION >= '1.5' && PS_MRData.carrier) { var _return = !(!PS_MRSelectedRelayPoint['carrier_id'] || !PS_MRSelectedRelayPoint['relayPointNum']); if (!_return) alert(PS_MRTranslationList['errorSelection']); return _return; } } }); // If MR carrier selected, check MR relay point is selected too $('input[name=processCarrier], button[name=processCarrier]').click(function(){ var _return = !(PS_MRSelectedRelayPoint['carrier_id'] && !PS_MRSelectedRelayPoint['relayPointNum']); if (!_return) alert(PS_MRTranslationList['errorSelection']); return _return; }); if (typeof PS_MRData != 'undefined') { if (PS_MRData.PS_VERSION < '1.5') { $('input[name=id_carrier]').click(function(){ checkToDisplayRelayList(); }); } } // Handle input click of the other input to hide the previous relay point list displayed }); // To have public method access for this closure return { initFront : function() { checkToDisplayRelayList(); }, uninstall : function(url) { return PS_MRGetUninstallDetail(url); } }; })(jQuery); et dans la version widget $(document).ready(function() { // 1.5 OPC Validation - Warn user to select a relay point $('.payment_module a').live('click', function() { if (typeof PS_MRData != 'undefined') { if (PS_MRData.PS_VERSION >= '1.5' && PS_MRData.carrier && PS_MRSelectedRelayPoint['carrier_id']!=0) { var _return = !(!PS_MRSelectedRelayPoint['carrier_id'] || !PS_MRSelectedRelayPoint['relayPointNum']); if (!_return) alert(PS_MRTranslationList['errorSelection']); return _return; } } }); // If MR carrier selected, check MR relay point is selected too $('input[name=processCarrier], button[name=processCarrier]').click(function(){ var carrier_selected = $('input[class=delivery_option_radio]:checked').val(); if (PS_MRSelectedRelayPoint['carrier_id']+',' == carrier_selected || PS_MRSelectedRelayPoint['carrier_id'] == carrier_selected) { var _return = !(PS_MRSelectedRelayPoint['carrier_id'] && !PS_MRSelectedRelayPoint['relayPointNum']); if (!_return) alert(PS_MRTranslationList['errorSelection']); return _return; } }); if (typeof PS_MRData != 'undefined') { if (PS_MRData.PS_VERSION < '1.5') { $('input[name=id_carrier]').click(function(){ checkToDisplayRelayList(); }); } } }); j'ai tenté de coller la partie après // If MR carrier selected, check MR relay point is selected too de la version widget dans la normale mais sans succès. Quelqu'un voit où çà foire? Link to comment Share on other sites More sharing options...
Regaton Posted December 10, 2015 Share Posted December 10, 2015 (edited) Merci beaucoup à 3pom pour son codage ! La modification du .js n'a pas d'influence, je peux toujours sélectionner Mondial Relay sans choisir de point relais... Merci de me (et nous) expliquer un peu plus la procédure ou peut-être qu'elle n'est plus valable avec la version de mondial relay 2.1.3 ? Edited December 10, 2015 by Regaton (see edit history) Link to comment Share on other sites More sharing options...
cyssoo Posted December 21, 2015 Author Share Posted December 21, 2015 Bouh ! J'ai dû être un peu foufou de proposer ce module... On récupère beaucoup de demandes qui ont davantage de rapports avec Mondial Relay, le module propsoé ici ne permet que de corriger les soucis de mauvaise sélection de la part du client... Merci au passage à okom3pom de l'avoir précisé ! De vous à moi, je vous déconseille de trifouiller des modules dont vous n'avez ni la maîtrise, dont le code modifié va péter à la prochaine mise à jour, et dont les quelques lignes testées carrément en production risquent davantage de vous apporter des soucis tant qu'elles ne sont pas testées sur un environnement de dev. Dans l'ensemble, je vous conseille également très fortement d'avoir Fancybox d'activé dans votre thème (hé c'est natif sur Presta !), et de bien mettre en avant ce fameux bouton de validation de point relais qui apparaît dans la popup. Au final, si vous avez un souci, évitez de poster ici. Ce module est cadeau, là pour vous aider à corriger des points relais, pas pour corriger le module Mondial Relay selon vos besoins (No flood plz !). Je serais davantage intéressé de savoir quelle optimisation vous souhaitez voir sur mon module, et on aidera tout le monde comme ça Joyeux Nowel à tous, et bonnes ventes surtout en cette période !! 1 Link to comment Share on other sites More sharing options...
PatDebos Posted February 4, 2018 Share Posted February 4, 2018 Bonsoir, Je reviens sur cet ancien topic parce que je trouve cet utilitaire bien pratique. Je l'ai installé sans problème sur ma version Prestashop 1.6.1.12 mais j'ai juste un doute. Effectivement, on peut tout éditer ... sauf le numéro du point relais. Est-ce normal et cela veut-il dire que ce numéro ne se retrouve ni sur l'étiquette ni dans le barcode de celle-ci ? Merci d'avance pour la réponse et pour ce petit utilitaire bien pratique, qui plus est gratuit... Link to comment Share on other sites More sharing options...
cyssoo Posted February 13, 2018 Author Share Posted February 13, 2018 Hello, oui je dois faire une refonte de ce module, pour bien tout prendre en compte et surtout simplifier l'ensemble. Je pense être en mesure de caler ça (avec une compatibilité Prestashop 1.7) d'ici un mois environ. Boulot boulot boulot ! :-) Link to comment Share on other sites More sharing options...
Sekar44 Posted March 9, 2018 Share Posted March 9, 2018 Bonjour, Je viens de découvrir le module et effectivement sur ma 1.6.1.17 je n'ai pas le point relais. J'attends aussi la mise à jour, merci pour votre travail et ce module super pratique. Link to comment Share on other sites More sharing options...
cyssoo Posted May 12, 2018 Author Share Posted May 12, 2018 Hello, Petite mise à jour effectuée (à la bourre mais bon, c'est là ^^) Compatible Prestashop 1.6 et 1.7, j'ai recodé le tout. Faites-moi savoir si vous rencontrez des soucis. everpsmondialrelay.zip Link to comment Share on other sites More sharing options...
PatDebos Posted May 13, 2018 Share Posted May 13, 2018 Bonjour, Un tout grand merci pour ce travail qui devait être conséquent. Je mets le module à jour et je regarde ce qu'il en est (enfin faudra peut être que j'attende une commande sans point relais ce qui ne devrait plus désormais être un problème gràce à tes efforts ;o)). Encore merci. 1 Link to comment Share on other sites More sharing options...
cyssoo Posted October 3, 2018 Author Share Posted October 3, 2018 Up ! J'ai eu un retour d'une personne qui déclare que le module efface les numéros de points relais. Sincèrement, en-dehors d'un mauvais clic, je ne vois pas comment, je soupçonne plutôt une mauvaise utilisation ou une incompréhension. Si vous avez déjà eu ce bug avec une utilisation "clean" de ce module, pourriez-vous me faire un retour chère communauté de Prestashop ? Perso, je ne reproduis pas. Merci à vous :-) Pour info, Arnaud Merigeau a réalisé un tuto sur ce module, visible à cet emplacement : https://www.arnaud-merigeau.fr/prestashop-1-6-comment-modifier-un-point-mondial-relay/ 1 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