Điểm:0

Cách làm mới và tải lại (với ajax?) ngăn thanh toán đơn hàng và tính toán đơn hàng độc lập với việc làm mới giỏ hàng thương mại (ví dụ: thay đổi địa chỉ thanh toán)

lá cờ fr

Tôi có vấn đề sau:

Trong quá trình thanh toán, khách hàng của tôi phải điền địa chỉ thanh toán của mình (ít nhất là lần đầu tiên) để tính thuế suất VAT và tổng giá. Tính toán thêm được thực hiện thông qua một bộ xử lý đơn đặt hàng sau đó. Cho đến nay nó hoạt động tốt.

Vấn đề của tôi là, việc làm mới đơn hàng giỏ hàng không làm mới bảng thanh toán (như tóm tắt đơn hàng) qua AJAX, khi quốc gia thanh toán (và do đó có lẽ cả thuế suất VAT hợp lệ) đã thay đổi. Người dùng phải chủ động tải lại trang trong trình duyệt hoặc phải gửi biểu mẫu để xem hiệu ứng, ngay cả khi thứ tự đã được làm mới (và tính toán lại) ở hậu trường.

  1. Làm cách nào tôi có thể buộc làm mới giỏ hàng và tính toán lại thông qua bộ xử lý đơn hàng tùy chỉnh của mình, độc lập với khoảng thời gian làm mới đơn hàng giỏ hàng?
  2. Làm cách nào tôi có thể kích hoạt tải lại cho các ngăn thanh toán của mình (trong trường hợp tốt nhất là thông qua AJAX, vì trải nghiệm người dùng tốt hơn), để người dùng kịp thời nhìn thấy các thay đổi?

Tôi phát hiện ra rằng đã có các hook cho điều đó trong D7 nhưng trong D8/D9, các hook và dịch vụ dường như không còn tồn tại nữa (ví dụ: commerce_cart_order_refresh() - xem: Làm cách nào tôi có thể tính toán lại tổng đơn đặt hàng sau khi thay đổi quốc gia thanh toán ).

Điểm:1
lá cờ kz

Vì vậy, bạn muốn làm mới một số nội dung trong trang không phải là một phần của biểu mẫu thanh toán? Về cơ bản, điều này có thể được thực hiện bằng cách sử dụng lệnh gọi lại Ajax và một hoặc nhiều lệnh gọi lại Ajax:

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

Bạn sẽ cần thêm lệnh gọi lại Ajax vào trường quốc gia bằng cách sử dụng form_alter()và trong cuộc gọi lại này trả về các lệnh Ajax cần thiết để thay thế nội dung được nhắm mục tiêu, được chọn theo lớp hoặc id.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.