<?php namespace uafrica\Customshipping\Plugin\Checkout\Block; use Magento\Checkout\Block\Checkout\LayoutProcessor; class LayoutProcessorPlugin { /** * This is the Class That Allows The Field To Appear As Required On Checkout, * But It Does Not Save The Data To The Quote Table In The Database For The Order * To Be Processed Correctly In The Backend And Frontend It Works With Shipping * Information Management Class * @param LayoutProcessor $subject * @param array $jsLayout * @return array */ public function afterProcess( LayoutProcessor $subject, array $jsLayout ): array { $jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']['children'] ['shippingAddress']['children']['shipping-address-fieldset']['children']['suburb'] = [ 'component' => 'Magento_Ui/js/form/element/textarea', 'config' => [ 'customScope' => 'shippingAddress.extension_attributes', 'customEntry' => null, 'template' => 'ui/form/field', 'elementTmpl' => 'ui/form/element/input', 'options' => [], 'tooltip' => [ 'description' => __('Necessary for shipping.') ], 'id' => 'suburb' ], 'dataScope' => 'shippingAddress.extension_attributes.suburb', 'label' => 'Suburb', 'provider' => 'checkoutProvider', 'visible' => true, 'validation' => [ 'required-entry' => true ], 'sortOrder' => 110, /*'customEntry' => null,*/ 'id' => 'suburb' ]; return $jsLayout; } }