Module d'intégration de Mondial Relay en PHP
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Module d'intégration de Mondial Relay en PHP



  1. #1
    electrique10

    Module d'intégration de Mondial Relay en PHP


    ------

    Bonjour je suis entrain de programmé un site de vente mais la j'ai un problème d'intégration pour intégré Mondial Relay comme moyen de livraison
    j'arrive a affiché la carte par ce code

    Code:
    <?
    echo "
    <head>*
    <title>Exemple commentée d'une implémentation du Widget Mondial Relay</title>
    <script type=\"text/javascript\" src=\"design/jquery.min.js\"></script>
    <script type=\"text/javascript\" src=\"design/js.js\"></script>
    <script type=\"text/javascript\" src=\"design/jquery.mondialrelay.js\"></script> 
    
    <script type=\"text/javascript\"> 
    var t; 
    $(document).ready(function () { 
    $(\"#Zone_Widget\").MR_ParcelShopPicker({ 
    Target: \"#Target_Widget\"					// Selecteur JQuery de l'élément dans lequel sera renvoyé l'ID du Point Relais sélectionné (généralement un champ input hidden) 
    , TargetDisplay: \"#TargetDisplay_Widget\"			// Selecteur JQuery de l'élément dans lequel sera renvoyé l'ID du Point Relais sélectionné (secondaire pour affichage) 
    , TargetDisplayInfoPR: \"#TargetDisplayInfoPR_Widget\"		// Selecteur JQuery de l'élément dans lequel seront renvoyé les coordonnées complètes de la selection de l'utilisateur 
    , Brand: \"BDTEST  \"						// Le code client Mondial Relay 
    ,AllowedCountries: \"FR,ES,BE\"					// Liste des pays selectionnable par l'utilisateur pour la recherche (codes ISO 2 lettres séparés par des virgules) 
    , PostCode: \"26700\"						// Code postal pour lancer une recherche par défaut 
    //,EnableGeolocalisatedSearch: \"true\"				// Active ou non la possibilité d'effectuer la recherche sur la position courante lorsque le navigateur de l'utilisateur supporte cette fonction (demande au navigateur) 
    , ColLivMod: \"24R\"						// Permet de filtrer les Points Relais selon le mode de livraison utilisé (Standard [24R], XL [24L], XXL [24X], Drive [DRI]) 
    //,Weight: \"\"							// Permet de filtrer les Points Relais selon le Poids (en grammes) du colis à livrer 
    , NbResults: \"10\"						// Nombre de Point Relais à afficher 
    //,SearchDelay: \"3\"						// Permet de spécifier le nombre de jour entre la recherche et la dépose du colis dans notre réseau 
    //,SearchFar: \"\"						// Permet de limiter la recherche des Points Relais à une distance maximum 
    //,CSS: \"1\"							// Permet de spécifier que vous souhaitez utiliser votre propre feuille de style CSS lorsque vous lui donnez la valeur 0
    //,MapScrollWheel: \"false\"					// Active ou non le zoom on scroll sur la carte des résultats 
    //,MapStreetView: \"false\"					// Active ou non le mode Street View sur la carte des résultats (attention aux quotas imposés par Google) 
    //,ShowResultsOnMap: \"true\"					// Active ou non l'affichage des résultats sur une carte 
    , DisplayMapInfo: true						// Active ou non l'affichage d'une popup sur la carte avec les informations du point relais 
    , OnParcelShopSelected:						// Permet l'appel d'une fonction lors de la selection d'un Point Relais 
    
    function (data) {
    $(\"#cb_ID\").html(data.ID); 
    $(\"#cb_Nom\").html(data.Nom); 
    //$(\"#cb_Adresse\").html(data.Adresse1 + ' ' + data.Adresse2); 
    $(\"#cb_CP\").html(data.CP); 
    $(\"#cb_Ville\").html(data.Ville); 
    $(\"#cb_Adresse\").html(data.Adresse1);
    $(\"#cb_Pays\").html(data.Pays); } 
    }); 
    });
    </script>
    
    </head>
    <body>
    <div id=\"Zone_Widget\"></div>
    <br><br>";
    La carte s'affiche bien avec les points relais on peut sélectionné le point relais aussi
    sur cette meme page je peux affiché le point relais sélectionné en faisant

    Code:
    <span id=cb_Nom></span>
    avec ce code ca affiche bien le nom du commercant du point relais choisi dans la carte pas de souci la dessus
    mon problème c'est de faire passer le nom du commerçant dans une variable PHP vers une autre page pour l'enregistrement
    la par contre impossible de faire passé la variable qui possède le nom du commercant

    j'ai essayé dans un formulaire
    Code:
    <input type="hidden" value='<span id="cb_Nom"></span>' name="RELAY_NOM">
    a mon avis on peut pas mettre "<span id="cb_Nom"></span>" dans le formulaire mais si je met que "cb_Nom"
    dans ce cas j'ai juste "cb_Nom" qui passe vers l'autre page et non pas le nom du commerçant choisi dans la carte.
    je voudrait savoir comment puis-je faire pour faire passé le nom du commerçant vers une autre page ?
    Je vous remercie de votre aide

    -----

  2. #2
    electrique10

    Re : Module d'intégration de Mondial Relay en PHP

    J'ai également testé ce code




    Code:
    <span onclick="afficher_input1(this)" id=cb_ID></span>
    <span onclick="afficher_input2(this)" id=cb_Nom></span><br>
    <span onclick="afficher_input3(this)" id=cb_Adresse></span>
    <span onclick="afficher_input4(this)" id=cb_CP></span>
    <span onclick="afficher_input5(this)" id=cb_Ville></span>
    <span onclick="afficher_input6(this)" id=cb_Pays></span>
    
    
     
    <script type="text/javascript">
    function afficher_input1(t) {
    document.getElementById('RELAY_ID').style.display = '';
    document.getElementById('RELAY_ID').value = t.innerHTML; }
    </script>
    
    <script type="text/javascript">
    function afficher_input2(t) {
    document.getElementById('RELAY_NOM').style.display = '';
    document.getElementById('RELAY_NOM').value = t.innerHTML; }
    </script>
    
    <script type="text/javascript">
    function afficher_input3(t) {
    document.getElementById('RELAY_ADRESSE').style.display = '';
    document.getElementById('RELAY_ADRESSE').value = t.innerHTML; }
    </script>
    
    <script type="text/javascript">
    function afficher_input4(t) {
    document.getElementById('RELAY_CP').style.display = '';
    document.getElementById('RELAY_CP').value = t.innerHTML; }
    </script>
    
    <script type="text/javascript">
    function afficher_input5(t) {
    document.getElementById('RELAY_VILLE').style.display = '';
    document.getElementById('RELAY_VILLE').value = t.innerHTML; }
    </script>
    
    <script type="text/javascript">
    function afficher_input6(t) {
    document.getElementById('RELAY_PAYS').style.display = '';
    document.getElementById('RELAY_PAYS').value = t.innerHTML; }
    </script>
    
    
    <input type="text" name="RELAY_ID" id="RELAY_ID" value=""><br>
    <input type="text" name="RELAY_NOM" id="RELAY_NOM" value=""><br>
    <input type="text" name="RELAY_ADRESSE" id="RELAY_ADRESSE" value=""><br>
    <input type="text" name="RELAY_CP" id="RELAY_CP" value=""><br>
    <input type="text" name="RELAY_VILLE" id="RELAY_VILLE" value=""><br>
    <input type="text" name="RELAY_PAYS" id="RELAY_PAYS" value=""><br>
    <input type="submit" value="Envoi du formulaire">
    en cliquant sur chaque éléments le texte est transféré dans les case input et en validant le formulaire les donnée passe vers l'autre page
    seulement avant de valider le formulaire je suis obligé de cliquer sur chaqu'un des éléments pour transféré le texte dans les case il faudrait maintenant automatisé tous ca
    mais la j'ai problème c'est que je n'y arrive pas

  3. #3
    Ikhar84
    Animateur Informatique

    Re : Module d'intégration de Mondial Relay en PHP

    Si tu as déjà les contenus des variables au chargement de la page tu peux tenter l'evenement onload du body, même si c'est un peu barbare...
    Code:
    <body*onload="fonction_qui_rempli_les_champs()">
    Ou un lien ou bouton genre "Valider le relay" qui lancerait en une seule fonction la complétion de tous les champs d'un coup, ou un fonction principale qui lancerait les sous-fonctions...
    J'ai glissé Chef !

  4. #4
    electrique10

    Re : Module d'intégration de Mondial Relay en PHP

    j'ai suivi ce tuto
    https://widget.mondialrelay.com/parc...x#doc_methodes

    j'ai bien 2 case Point Relais Selectionné et Hidden quand on sélectionne sur la carte l'identifiant du commercant se met dans les 2 cases
    mais le reste des infos sont juste écrite sur la page
    ce que je voudrait c'est mettre le nom dans une case, l'adresse dans une case, le code postal dans une case etc...
    pour envoyé ses infos vers une autre page mais impossible je n'y arrive pas

  5. A voir en vidéo sur Futura
  6. #5
    Ikhar84
    Animateur Informatique

    Re : Module d'intégration de Mondial Relay en PHP

    J'ai franchement horreur du dev web et ça me tente pas trop de compulser la doc de Mondial relay... désolé, mais je dois être franc...

    J'ai vu que tu pouvais récuperer les contenus des variables, via jquery: jquery.mondialrelay.js.

    Pour les "passer" via PHP, ce sera impossible en l'état, php étant côté serveur et javascript côté client...

    Il te faut donc récuperer les données via jquery, les stocker dans des variables javascript, puis les envoyer via un formulaire pour PHP en prenne connaissance.

    Pour cela, utiliser les champs texte est vraiment une mauvaise idée, car façilement modifiable par l'utilisateur (risque de mauvaise manipulation... au moins, si ce n'est une superbe injection SQL), il te faut utiliser un autre moyen, par exemple une présentation un peu élaborée à base de span et div, et un lien de validation qui construit une url avec les données, du style:
    Code:
    https://exemple.fr/livraison?etape=2&relay=nom&etc...
    Une fois récupéré par PHP, tu pourras en faire ce que tu veux...


    Mais bon commençons par le commencement...
    Avec ce code tu as bien le nom du relay dans le champ texte ?
    Code:
    <script type="text/javascript"> function afficher_input1(t) { document.getElementById('RELAY_ID').style.display = ''; document.getElementById('RELAY_ID').value = t.innerHTML; } </script>
    Si oui, tu ajoutes juste dans ta balise body l'appel à la fonction...
    Donc ton body deviens:
    Code:
    <body onload="afficher_input1(this)">
    Au chargement de la page, la fonction sera invoquée, et pas besoin de clic...

    Par contre, en parcourant moins vite le code, je vien de voir la fonction: function(data)...

    C'est elle qui est chargée de récuperer les données et de les injecter au bons endroits dans la page via les id des élèments, tu peux en dire plus ?
    J'ai glissé Chef !

  7. #6
    electrique10

    Re : Module d'intégration de Mondial Relay en PHP

    je vien de trouvé ca j'ai rajouté
    ce code a la fin du javascript

    Code:
    $("[name='RELAY_ID']").val(data.ID);
    $("[name='RELAY_NOM']").val(data.Nom);
    $("[name='RELAY_ADRESSE']").val(data.Adresse1);
    $("[name='RELAY_CP']").val(data.CP);
    $("[name='RELAY_VILLE']").val(data.Ville);
    $("[name='RELAY_PAYS']").val(data.Pays);
    ensuite j'ai fait un bouton en passant par la méthode POST et apparament sur la page suivante les variables passe

    Code:
    <input type="hidden" value='ON' name="MONDIAL" >
    <input type="hidden" value='$FDP' name="FDPID" >
    <input type="hidden" value='<span id="cb_ID"></span>' name="RELAY_ID" >
    <input type="hidden" value='<span id="cb_Nom"></span>' name="RELAY_NOM">
    <input type="hidden" value='<span id="cb_Adresse"></span>' name="RELAY_ADRESSE">
    <input type="hidden" value='<span id="cb_CP"></span>' name="RELAY_CP">
    <input type="hidden" value='<span id="cb_Ville"></span>' name="RELAY_VILLE">
    <input type="hidden" value='<span id="cb_Pays"></span>' name="RELAY_PAYS">
    <input type="hidden" value='<span id="cb_Lat"></span>' name="RELAY_LAT\">
    <input type="hidden" value='<span id="cb_Long"></span>' name="RELAY_LONG">
    </form></center>

Discussions similaires

  1. [Outils/Fab/Comp] Reed Relay Switch
    Par BegoodHIGH dans le forum Électronique
    Réponses: 3
    Dernier message: 21/09/2016, 09h53
  2. Current sensing MOSFET /Smart relay
    Par hary dans le forum Électronique
    Réponses: 8
    Dernier message: 26/09/2015, 13h31
  3. Circuit de puissance d'un four électrique (solid state relay)
    Par Aepist901 dans le forum Électronique
    Réponses: 21
    Dernier message: 12/05/2015, 22h38
  4. Solid State Relay (SSR)
    Par Qristoff dans le forum Électronique
    Réponses: 10
    Dernier message: 31/03/2010, 22h06
  5. Intégration d'un module IR
    Par loris dans le forum Électronique
    Réponses: 5
    Dernier message: 22/10/2009, 10h01