When adding code:

<item name="shippingAdditional" xsi:type="array">
       <item name="component" xsi:type="string">uiComponent</item>
       <item name="displayArea" xsi:type="string">shippingAdditional</item>
       <item name="children" xsi:type="array">
            <item name="additional_block" xsi:type="array">
                 <item name="component" xsi:type="string">Vendor_Namespace/js/view/checkout/shipping/additional-block</item>

In checkout_index_index.xml in shippingAddress children section it has no effect (js file is not loading). This solution can be found on several webpages. However when using plugin created for

\Magento\Checkout\Block\Checkout\LayoutProcessor::process with added fields in children dimension:

$jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']['children']['shippingAddress']['children']['shippingAdditional'] = [ 'component' => 'uiComponent', 'displayArea' => 'shippingAdditional', 'children' => [...

fields are displayed in div onepage-checkout-shipping-method-additional-load.

My question is: has this ever worked? I'm facing this problem in newest magento version (2.2.0).

I need to display additional content depending on selected carrier and I'm looking for the best place to pin in (don't want to use javascript to manipulate DOM to put my html in right place). There is before-shipping-method-form item in checkout layout xml but I need to put my content after carriers list or even in single carrier row. Ofcourse I can't use any overrides. Any solution?

  • I'm having, I think, the same issue. Did you ever find your resolution? – tbernard Jul 30 '18 at 21:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.