想要在magento 2结帐页面的运送方法后添加自定义字段。
我已经创建了带有checkout_index_index.xml的自定义模块,并能够在使用<item name="before-form" xsi:type="array">
的运输地址之后的位置添加自定义字段,但是我希望在运输方法之后添加它。
当客户选择送货方式时,此框会显示并隐藏以提供有关所选送货方式的更多信息
在下面查找图像以获取更多信息。
谢谢!
答案 0 :(得分:0)
我需要做同样的事情。 Magento的结帐使用以下方法在送货方式下呈现出一个区域:
<div id="onepage-checkout-shipping-method-additional-load">
<each args="getRegion('shippingAdditional')" render="" />
</div>
但是实际上在magento代码库中没有定义shippingAdditional
项目。因此,要使您的字段显示在运输方式下,可以使用上述区域。为此,您需要将父项更改为<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根据所选的送货方式显示和隐藏这些字段。