Ajax & Checkout shipping

  • Posts: 99
  • Thank you received: 3
7 years 1 month ago #279621

-- HikaShop version -- : 3.2
-- Joomla version -- : 3.8
-- PHP version -- : 5.6

Bonjour,

Afin de permettre un choix de relais (affichage sur une carte google map), j'ai fait des modifications dans show_block_shipping.php.

Mon souci est que lorsque je choisi un relais, il y a un rafraichissement de la page et de la div "map" (avec la carte google) n'est plus recharger. J'ai comme 2nd problème un affichage de shortcodes personnels (date de livraison de commande) qui passe d'un affichage type" lundi 9 octobre" à

[[DATE_COLISSIMO]]

Est il possible de remediez à cela en passant des infos supplementaires dans ajax?

Merci par avance

Nicolas


Joomla 3
Last edit: 7 years 1 month ago by nilegoff.

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 1 month ago #279643

Bonjour,

Vous devez placer le code JS dans la vue afin qu'il puisse être ré-exécuté lors des rechargements en Ajax.
Et tous les champs input qui seront dans le block seront soumis lors des appels ; après je ne sais pas comment votre personnalisation fonctionne donc j'ignore totalement ce dont vous avez besoins et qu'est ce que vous entendez pas "infos supplémentaires dans ajax".

Cordialement


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 99
  • Thank you received: 3
7 years 1 month ago #279715

Pouvez vous me preciser ou dans le code je dois inserer mon javascipt. Actuellement il est sur ma page et il n'est pas rechargé.

Pouvez vous me dire (même si sa casse l'effet ajax) s'il y a moyen de rechrger automatiqment la page si je change de mode de livraison ou d'adresse de livraison ou de facturation.

Merci par avance

Nicolas


Joomla 3

Please Log in or Create an account to join the conversation.

  • Posts: 12953
  • Thank you received: 1778
7 years 1 month ago #279742

Bonjour,

S'il est nécessaire que la page soit rechargée après avoir sélectionné une méthode de livraison, une solution pourrai être de directement utiliser le mode "Checkout legacy" activable depuis "Hikashop->System->Configuration->Advanced"

Please Log in or Create an account to join the conversation.

  • Posts: 99
  • Thank you received: 3
7 years 1 month ago #279781

Bonjour
Je préférerai utiliser le système de "legacy" en dernier recours.

Sur la page show_block_shipping.php, pouvez vous me préciser l'endroit ou vous placeriez le script javascipt de la carte googlemap pour qu'elle soit chargé à chaque requête ajax. J'adapterai mon code ensuite.

Merci par avance

Nicolas


Joomla 3
Last edit: 7 years 1 month ago by nilegoff.

Please Log in or Create an account to join the conversation.

  • Posts: 99
  • Thank you received: 3
7 years 1 month ago #279842

Tout compte fait j'ai retravaillé mon code mais je bloque sur la façon de faire passer des variables avec ajax (surtout les recupérer).

Pour faire un test, dans le javascipt de show_bloc_shipping, j'ai rajouté:

var colissimoRelais =window.Oby.evalJSON(el.getAttribute('data-hk-colissimo-relais'));
et j'ai modifié formData
formData = 'cid=' + encodeURIComponent(data.step) + '&blockpos=' + encodeURIComponent(data.pos) + '&selectionOnly=1&' + encodeURI('checkout[shipping]['+data.warehouse+'][id]') + '=' + encodeURIComponent(data.id) + '&dateLivraison='+encodeURIComponent(colissimoRelais)+'&' + encodeURI(window.checkout.token)+'=1';
Par contre, pouvez vous me dire comment recupérer ma variable "colissimoRelais".
Merci par avance
Nicolas


Joomla 3
Last edit: 7 years 1 month ago by nilegoff.

Please Log in or Create an account to join the conversation.

  • Posts: 82868
  • Thank you received: 13377
  • MODERATOR
7 years 1 month ago #279791

Bonjour,

1. Si vous mettez votre code après la ligne:
window.checkout.refreshShipping(<?php echo (int)$this->step; ?>, <?php echo (int)$this->module_position; ?>);
il sera exécuté après chaque rafraîchissement de la vue shipping suite à un changement dans les choix des méthodes de livraison.

2. Vu que vous passez la variable dans l'URL, vous l'aurez dans

$_REQUEST['colissimoRelais']
lors du processing de la requête ajax coté serveur.

Last edit: 7 years 1 month ago by nicolas.

Please Log in or Create an account to join the conversation.

  • Posts: 99
  • Thank you received: 3
7 years 1 month ago #280035

Bonjour,

Je n'ai pas reussi à faire passer les informations, je suis repassé à la version ancienne du checkout et tout fonctionne.

Bonne fin de journée

nicolas


Joomla 3

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 1 month ago #280037

Bonjour,

Comme indiqué dans mon précédent message :

Et tous les champs input qui seront dans le block seront soumis lors des appels ; après je ne sais pas comment votre personnalisation fonctionne donc j'ignore totalement ce dont vous avez besoins et qu'est ce que vous entendez pas "infos supplémentaires dans ajax".

Je ne comprends toujours pas ce que vous souhaitez faire exactement et je ne vois pas le but de vos modifications de code sachant que je vous ai indiqué que tous les champs de type "input" était envoyé en ajax.

Mais si cela fonctionne pour vous avec le mode legacy, c'est tant mieux.


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

Time to create page: 0.079 seconds
Powered by Kunena Forum