ฉันกำลังสร้างวิธีการจัดส่งใหม่และฉันต้องการเพิ่มคอลัมน์ใหม่เพื่อเช็คเอาต์การจัดส่ง ข้อมูลจะมาจากการตั้งค่าวิธีการจัดส่งที่กำหนดเองเช่นคำอธิบายวิธีการ หรือฟิลด์ป้อนข้อมูลบางอย่างที่ลูกค้าสามารถเพิ่มข้อมูล (ข้อมูลอาจจะถูกบันทึกไว้ในใบเสนอราคาและในภายหลังตามลำดับ)
น่าจะเป็นส่วนที่ง่ายที่สุดของทั้งหมดคือการใช้แม่แบบโดยใช้
Magento_Checkout/web/template/shipping.html
มันแค่ต้องการสิ่งนี้
<div data-bind="text: method.description"></div>
ปัญหาคือฉันไม่สามารถหาวิธีเพิ่มข้อมูลที่กำหนดเองได้ ยังไม่พอที่จะเพิ่ม:
public function collectRates(RateRequest $request)
{
    if (!$this->isActive()) return false;
    $method = $this->rateMethodFactory->create();
    $method->setData('carrier', $this->getCarrierCode());
    $method->setData('carrier_title', $this->getConfigData('title'));
    $method->setData('method_title', $this->getConfigData('title'));
    $method->setData('method', $this->getCarrierCode());
    $method->setPrice($this->_price);
    $method->setData('cost', $this->_price);
    // custom
    $method->setData('description', $this->getConfigData('description'));
    $result = $this->rateResultFactory->create();
    $result->append($method);
    return $result;
}
ข้อมูลสำหรับ html มาจากอัตรา js () ซึ่งรับข้อมูลจาก API:
<route url="/V1/carts/:cartId/shipping-methods" method="GET">
    <service class="Magento\Quote\Api\ShippingMethodManagementInterface" method="getList"/>
    <resources>
        <resource ref="Magento_Cart::manage" />
    </resources>
</route>
หลังจากนี้มีหลายขั้นตอนในขณะที่บางสิ่งบางอย่างได้รับการรวบรวมจริง ฉันพบ
วีโอไอพี \ อ้าง \ แบบจำลอง \ รถเข็น \ การจัดส่งวิธีการแปลงรูปแบบไปยัง DataObject ()
ที่ดูมีแนวโน้มมากที่สุด แต่ถ้าฉันพยายามที่จะเพิ่มคุณลักษณะของฉันไปที่มันไม่มีอะไรเกิดขึ้น
ดังนั้นคำถามของฉันคือถ้ามีวิธีเพิ่มข้อมูลใหม่ในอัตราค่าจัดส่งจริงหรือไม่ ใน M1 มันเป็นไปได้ มันคงจะบ้าถ้า M2 มันเป็นไปไม่ได้
มีหลายสาเหตุที่ควรเป็นไปได้ ตัวอย่างเช่นถ้าฉันต้องการทำให้วิธีการรับสินค้าที่มีร้านค้าหลายรายการเลื่อนลงหรือสิ่งที่คล้ายกัน