Magento2-装运后将添加自定义字段阻止

时间:2019-01-06 07:45:06

标签: php magento magento2 shipping-method

想要在magento 2结帐页面的运送方法后添加自定义字段。 我已经创建了带有checkout_index_index.xml的自定义模块,并能够在使用<item name="before-form" xsi:type="array">的运输地址之后的位置添加自定义字段,但是我希望在运输方法之后添加它。

当客户选择送货方式时,此框会显示并隐藏以提供有关所选送货方式的更多信息

在下面查找图像以获取更多信息。

enter image description here

谢谢!

1 个答案:

答案 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根据所选的送货方式显示和隐藏这些字段。