- Posts: 99
- Thank you received: 3
Rafraichissement ajax dans checkout shipping
8 years 5 months ago - 8 years 5 months ago #291746
by nilegoff
Joomla 3
Rafraichissement ajax dans checkout shipping was created by nilegoff
-- HikaShop version -- : 3.4
-- Joomla version -- : 3.8.7
-- PHP version -- : 5.6.8
Bonjour,
Actuellement j'essaye de faire apparaitre une liste de relais sur une carte google map. Cela fonctionne bien. Par contre j'ai rajouté des champs input cp, ville,pays, rue, adresse_extra au dessus de la carte au cas ou un client veuille centrer la carte et des relais sur une autre adresse que son adresse de livraison selectionnée. En passant les variables en get dans la version legacy de shipping, cela fonctionne bien.
Actuellement, j'essaye de passer via show_block_shipping.php pour beneficier de la technologie ajax et je ne sais pas comment faire passer les variables des champs afin qu'ils soient accessibles dans les plugins d'expedition et puissent ainsi être pris en compte (la partie plugin fonctionne deja).
Je pense qu'il faut utiliser sur le bouton Recherche un javascript type window.checkout.submitShipping mais je n'arrive pas à l'ecrire. Pouvez vous m'aider? J'ai juste besoin de savoir comment faire passer ses 5 variables dans le rafraichissement de show_block_shipping.php.
Merci par avance
Nicolas
-- Joomla version -- : 3.8.7
-- PHP version -- : 5.6.8
Bonjour,
Actuellement j'essaye de faire apparaitre une liste de relais sur une carte google map. Cela fonctionne bien. Par contre j'ai rajouté des champs input cp, ville,pays, rue, adresse_extra au dessus de la carte au cas ou un client veuille centrer la carte et des relais sur une autre adresse que son adresse de livraison selectionnée. En passant les variables en get dans la version legacy de shipping, cela fonctionne bien.
Actuellement, j'essaye de passer via show_block_shipping.php pour beneficier de la technologie ajax et je ne sais pas comment faire passer les variables des champs afin qu'ils soient accessibles dans les plugins d'expedition et puissent ainsi être pris en compte (la partie plugin fonctionne deja).
Je pense qu'il faut utiliser sur le bouton Recherche un javascript type window.checkout.submitShipping mais je n'arrive pas à l'ecrire. Pouvez vous m'aider? J'ai juste besoin de savoir comment faire passer ses 5 variables dans le rafraichissement de show_block_shipping.php.
Merci par avance
Nicolas
Joomla 3
Last edit: 8 years 5 months ago by nilegoff.
Please Log in or Create an account to join the conversation.
8 years 5 months ago #291748
by nicolas
Replied by nicolas on topic Rafraichissement ajax dans checkout shipping
Bonjour,
En supposant que vous avez ajouté cette interface dans show_block_shipping, alors si vous appelez window.checkout.submitShipping les champs, qui sont dans cette interface, seront automatiquement envoyés.
Si vous ne les avez pas à l'arrivée, c'est qu'ils ne sont pas dans show_block_shipping mais ailleurs et dans ce cas, vous pourriez rajouter des champs cachés dans show_block_shipping avec du js dans vos champs qui modifieraient ces champs cachés lorsqu'ils seraient modifiés.
En supposant que vous avez ajouté cette interface dans show_block_shipping, alors si vous appelez window.checkout.submitShipping les champs, qui sont dans cette interface, seront automatiquement envoyés.
Si vous ne les avez pas à l'arrivée, c'est qu'ils ne sont pas dans show_block_shipping mais ailleurs et dans ce cas, vous pourriez rajouter des champs cachés dans show_block_shipping avec du js dans vos champs qui modifieraient ces champs cachés lorsqu'ils seraient modifiés.
Please Log in or Create an account to join the conversation.
8 years 5 months ago #291787
by nilegoff
Joomla 3
Replied by nilegoff on topic Rafraichissement ajax dans checkout shipping
Merci pour votre reponse.
Mes champs input sont bien dans "show_block_shipping.php".
Pour un champ se nommant xxxxx, comment dois je appeler sa valeur dans la fonction onShippingDisplay de mon plugin d'expedition?
Merci par avance
Nicolas
Mes champs input sont bien dans "show_block_shipping.php".
Pour un champ se nommant xxxxx, comment dois je appeler sa valeur dans la fonction onShippingDisplay de mon plugin d'expedition?
Merci par avance
Nicolas
Joomla 3
Please Log in or Create an account to join the conversation.
8 years 5 months ago #291812
by nicolas
Replied by nicolas on topic Rafraichissement ajax dans checkout shipping
Bonjour,
Déjà, avant onShippingDisplay, il faudrait implémenter onShippingSave pour récupérer la valeur du POST lors de la soumission du formulaire (AJAX ou non). C'est très facile, c'est dans
Le plus simple c'est de sauvegarder cela dans $_SESSION pour que vous puissiez l'utiliser dans onShippingDisplay ensuite.
Car onShippingDisplay peut être appelé même sans soumission de la vue shipping.
Par exemple, si vous afficher la vue panier sur une étape, lorsque vous arrivez sur l'étape, le chargement du panier appelle onShippingDisplay pour vérifier les méthodes de shipping disponible pour le panier. Et dans ce cas, vous n'avez rien dans $_POST.
Déjà, avant onShippingDisplay, il faudrait implémenter onShippingSave pour récupérer la valeur du POST lors de la soumission du formulaire (AJAX ou non). C'est très facile, c'est dans
Code:
$_POST['xxxxxx']
Car onShippingDisplay peut être appelé même sans soumission de la vue shipping.
Par exemple, si vous afficher la vue panier sur une étape, lorsque vous arrivez sur l'étape, le chargement du panier appelle onShippingDisplay pour vérifier les méthodes de shipping disponible pour le panier. Et dans ce cas, vous n'avez rien dans $_POST.
Please Log in or Create an account to join the conversation.
8 years 5 months ago #291928
by nilegoff
Joomla 3
Replied by nilegoff on topic Rafraichissement ajax dans checkout shipping
Merci pour votre conseil de passer avec les variable de session.
Une dernière question afin de ne pas créer de breche de securité.
J'utilise
Est ce que
Merci par avance.
Nicolas
Une dernière question afin de ne pas créer de breche de securité.
J'utilise
pour initaialiser les l'acces aux données de sessions.$session = JFactory::getSession();
Est ce que
est securisé en lui même ou faut il filtrer la variable $adresse obtenue.$adresse=$session->get('adresse');
Merci par avance.
Nicolas
Joomla 3
Please Log in or Create an account to join the conversation.
8 years 5 months ago #291934
by nicolas
Replied by nicolas on topic Rafraichissement ajax dans checkout shipping
Bonjour,
Il n'y a pas de soucis de sécurité à directement utiliser $_SESSION.
Dans $_SESSION, il n'y a que ce que vous mettez vous même dedans. Ce n'est pas comme $_POST, $_GET ou $_REQUEST qui sont initialisés avec des données venant du navigateur.
Donc vous pouvez directement utiliser $_SESSION.
Il n'y a pas besoin d'initialiser la session ou de la détruire, c'est géré par Joomla automatiquement, donc c'est super facile.
Il n'y a pas de soucis de sécurité à directement utiliser $_SESSION.
Dans $_SESSION, il n'y a que ce que vous mettez vous même dedans. Ce n'est pas comme $_POST, $_GET ou $_REQUEST qui sont initialisés avec des données venant du navigateur.
Donc vous pouvez directement utiliser $_SESSION.
Il n'y a pas besoin d'initialiser la session ou de la détruire, c'est géré par Joomla automatiquement, donc c'est super facile.
Please Log in or Create an account to join the conversation.
8 years 5 months ago #292342
by nilegoff
Please Log in or Create an account to join the conversation.
Time to create page: 0.220 seconds