Gỡ lỗi: Xin lỗi, không có báo giá cho đơn đặt hàng này tại thời điểm này


7

Tôi đang sợ hãi

Xin lỗi, không có báo giá cho đơn đặt hàng này tại thời điểm này

thông báo lỗi trên phần Vận chuyển của Thanh toán một trang. Người giao hàng duy nhất là FedEx. Có khoa học nào biết cách gỡ lỗi các loại vấn đề này mà không đi sâu vào cách Magento thể hiện Bước vận chuyển và làm thế nào để khởi động các yêu cầu API về giá?

Nói cách khác - công cụ nào tồn tại trong UI để gỡ lỗi các vấn đề này và nếu không có công cụ nào tồn tại thì các lớp tốt nhất để thêm các công cụ gỡ lỗi tạm thời là gì?

Câu trả lời:


8

Thật không may, không có nhiều trong UI để gỡ lỗi các loại vấn đề này.

Bạn có thể thử bật Debugcài đặt. Điều đó sẽ ghi lại các yêu cầu và phản hồi API vào var/logs/thư mục của bạn , có thể cung cấp một số manh mối.

Nếu điều đó không cung cấp bất kỳ sự rõ ràng nào, có lẽ bạn sẽ cần chọc vào chức năng cốt lõi. Mage_Shipping_Model_Shipping::collectCarrierRates()sẽ là một nơi tuyệt vời để bắt đầu. Phương pháp này nên được gọi một lần (từ collectRates()) cho mỗi sóng mang khác nhau. Một số mẹo để hướng dẫn tìm kiếm của bạn trong phương pháp đó:

  • collectCarrierRates()bao giờ được gọi với $carrierCodebằng 'fedex'? Nếu không, điều tra lý do tại sao collectRates()bỏ qua FedEx.
  • Có bất kỳ ->collectRates($request)cuộc gọi bao giờ được thực hiện? Đó là những gì cuối cùng phát hành yêu cầu API. Có lẽ một trong những kiểm tra trước đó là thất bại, hoặc một cái gì đó khác là ngắn mạch quá trình. Trong trường hợp đó, Magento thậm chí không cố gắng yêu cầu FedEx báo giá.
  • Kiểm tra giá trị của $result- nó có thể chứa nullhoặc falsenếu một cái gì đó không thành công. Nếu không, bạn sẽ nhận được một Mage_Shipping_Model_Rate_Resultđối tượng - kiểm tra xem nó có lỗi với$result->getError()

Tôi thực sự khuyên bạn nên sử dụng xdebug để theo dõi mã đó và quan sát các giá trị biến. (Nếu điều đó không khả thi, chỉ cần thêm Mage::log()các cuộc gọi ở mọi nơi.)

Hy vọng rằng nên thu hẹp nguyên nhân đủ để bạn tìm ra giải pháp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.