想在 magento 2 结帐页面的运输方式后添加自定义字段。我已经使用 checkout_index_index.xml 创建了自定义模块,并且能够在发货地址之后添加自定义字段块,<item name="before-form" xsi:type="array">
但我希望在发货方式之后使用它。
当客户选择运输方式时,此块显示和隐藏以提供有关所选运输方式的更多信息
查找下面的图片以获取更多信息。
谢谢!
想在 magento 2 结帐页面的运输方式后添加自定义字段。我已经使用 checkout_index_index.xml 创建了自定义模块,并且能够在发货地址之后添加自定义字段块,<item name="before-form" xsi:type="array">
但我希望在发货方式之后使用它。
当客户选择运输方式时,此块显示和隐藏以提供有关所选运输方式的更多信息
查找下面的图片以获取更多信息。
谢谢!
我需要做同样的事情。Magento 的结帐使用以下方式呈现运输方式下的区域:
<div id="onepage-checkout-shipping-method-additional-load">
<each args="getRegion('shippingAdditional')" render="" />
</div>
但是,该shippingAdditional
项目实际上并未在 magento 代码库中定义。因此,要让您的字段显示在运输方式下,您可以使用上述区域。为此,您需要将父项更改为<item name="shippingAddress" xsi:type="array">
,<item name="before-form" xsi:type="array">
并确保您的项目被调用 <item name="shippingAdditional" xsi:type="array">
。像这样的东西:
...
<item name="shippingAddress" xsi:type="array">
<item name="children" xsi:type="array">
<item name="shippingAdditional" xsi:type="array">
<item name="displayArea" xsi:type="string">shippingAdditional</item>
<!-- The rest of your items config here... -->
</item>
</item>
</item>
...
请注意,您需要将其定义<item name="displayArea" xsi:type="string">shippingAdditional</item>
为不渲染。
然后,您可以使用一些 javascript/knockout 根据所选的运输方式显示和隐藏这些字段。