Puncte:0

Cum să actualizați și să reîncărcați (cu ajax?) panourile de finalizare a comenzii și calcularea comenzii independent de reîmprospătarea coșului comercial (de exemplu, schimbarea adresei de facturare)

drapel fr

Am urmatoarea problema:

În timpul plății, clientul meu trebuie să completeze adresa sa de facturare (cel puțin la prima dată) pentru a calcula cota TVA și prețul brut. Calculul suplimentar se face printr-un procesator de comenzi după aceea. Până acum funcționează bine.

Problema mea este că reîmprospătarea comenzii coșului nu reîmprospătează panourile de finalizare a comenzii (cum ar fi rezumatul comenzii) prin AJAX, atunci când țara de facturare (și, deci, poate și rata de TVA valabilă) s-a schimbat. Utilizatorul trebuie să reîncarce pagina în browser în mod activ sau trebuie să trimită formularul pentru a vedea un efect, chiar dacă comanda a fost reîmprospătată (și recalculată) în culise deja.

  1. Cum pot forța o reîmprospătare a coșului și o recalculare prin intermediul procesorului meu personalizat de comenzi, independent de intervalul de reîmprospătare a comenzii coșului?
  2. Cum pot declanșa o reîncărcare pentru panourile mele de checkout (în cel mai bun caz prin AJAX, datorită UX mai bun), astfel încât utilizatorul să vadă modificările exact la timp?

Am aflat că au existat cârlige pentru asta în D7, dar în D8/D9 cârligele și serviciile par să nu mai existe (de ex. commerce_cart_order_refresh() - vedea: Cum pot recalcula în mod programatic un total de comandă după ce am schimbat țara de facturare ).

Puncte:1
drapel kz

Deci, doriți să reîmprospătați conținut din pagină care nu face parte din formularul de finalizare a achiziției? Practic, acest lucru se poate face folosind un apel invers Ajax și una sau mai multe comenzi de apel invers Ajax:

https://www.drupal.org/docs/drupal-apis/ajax-api/core-ajax-callback-commands

Va trebui să adăugați un apel invers Ajax în câmpul de țară folosind a form_alter(), iar în acest callback returnează comenzile Ajax necesare pentru a înlocui conținutul vizat, selectat după clasă sau id.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.