2
Magento 2チェックアウト-配送先住所と配送方法の間にカスタムフィールドを追加します
配送先住所と配送方法のセクションの間にカスタムフィールドを追加しようとしています。そして、このフィールドの値は最終的にテーブルquoteとsales_orderテーブルの両方に保存されます。これは「注文コメント」フィールドを追加することに似ていますが、このフィールドは配送先住所セクションの直後で配送方法セクションの前に表示されます。 カスタムフィールドとカスタムフォームをチェックアウトに追加する方法に関するMagento開発者ガイドを確認し、ある程度までソリューションを実装しました。 これまでにやったこと: checkout_index_index.xmlレイアウトを更新し、uiComponent「shippingAddress」アイテムの下に新しい(コンテナ)を追加しました。 コンテナ内に必要な要素(フィールド)を追加しました。 カスタムモジュールで/js/view/shipping.jsとshipping.phtmlをオーバーライドします。 上記のコンテナをshipping.phtmlチェックアウトの配送先住所と配送方法の間に呼び出しました(新しい静的フォームの追加に似ています) これで、必要なフィールドがワンページチェックアウトで正確にレンダリングされます。しかし、私は以下の問題に遭遇しました。 上で追加したカスタムフィールドの値にアクセスする方法は?値をshippingAddress拡張属性に保存しようとしています。私setShippingInformationActionは以下にしようとするmixinを内部に追加しました shippingAddress['extension_attributes']['custom_field'] = shippingAddress.customAttributes['custom_field']; しかし、上記のコードは、要素がにないため実際に失敗しますshipping-address-fieldset。window要素を介して値を取得できる場合があります。しかし、Magentoからこれにアクセスする方法はありますか? この要素の値をローカルキャッシュストレージ(Magento_Checkout/js/checkout-data)に保存して、ページを更新した後でも値が保持されるようにする方法はありますか?