ฉันต้องการรายการวิธีการจัดส่งที่ใช้ได้สำหรับรถเข็นปัจจุบัน แต่ขึ้นอยู่กับโปรไฟล์การจัดส่งที่เลือก ฉันกำลังตั้งโปรแกรมคอนโทรลเลอร์แบบกำหนดเองที่ควรส่งคืนรายการวิธีการจัดส่งและอัตราการจัดส่งที่มีอยู่ แต่เห็นได้ชัดว่ามีรถเข็นและโปรไฟล์การจัดส่งของลูกค้า
มี โมดูลการจัดส่งเชิงพาณิชย์ บริการหรือคลาสใดที่ฉันสามารถใช้เพื่อรับข้อมูลนี้ บางที มีวิธีอื่นอีกไหมที่จะได้มันมา?
ฉันได้อ่านซอร์สโค้ดจาก:
Commerce_Shipping\src\Plugin\Commerce\CheckoutPane\ShippingInformation.php
นั่นคือปลั๊กอิน CheckoutPane ที่แสดงตัวเลือกการจัดส่งในหน้าชำระเงิน buildPaneForm
เมธอดแสดงแบบฟอร์มนี้ และบรรทัดโค้ดเหล่านั้นควรให้รายการวิธีการจัดส่งแก่ฉัน:
ฟังก์ชันสาธารณะ buildPaneForm (อาร์เรย์ $pane_form, FormStateInterface $form_state, อาร์เรย์ &$ Complete_form) {
...
$shipments = $this->order->get('shipments')->referencedEntities();
...
foreach ($shipments เป็น $index => $shipment) {
... // จัดส่งทุกรายการ
}
แต่ฉันได้ลองใช้ในคอนโทรลเลอร์ที่กำหนดเองแล้ว และส่งคืนอาร์เรย์ว่างเสมอ ฉันคิดว่าควรมีกระบวนการก่อนหน้านี้ที่เติมรายการนี้ แต่ฉันหาไม่พบ ฉันลองใช้การเปลี่ยนสถานะแล้ว แต่ไม่ได้ผล