I need to add a custom step in Magento which verifies the address of the customer via a third party API, the fields are similar to the shipping address form, but I could not find out how the country and region drop-downs are added from the core files.
The fields in the shipping form are set from the checkout_index_index.xml
, and displayed using the knockout for each loop, but I could not do the same.
Thanks
EDIT
I have added the country_id
, region
, and region_id
fields using layout xml, but it adds text box instead of the drop-down.
Best Answer
To add the dropdowns in your custom module for checkout. You can use
/vendor/magento/module-checkout/Block/Checkout/DirectoryDataProcessor.php
as reference.You need to create a plugin for the
\Magento\Checkout\Block\Checkout\DirectoryDataProcessor::process
method. In your plugin, implement the after method adding the option data to the corresponding layout nodes at run-time.Here you need to replace
custom_cuntry_id
andcustom_region_id
with your fileds respectively.Also check your attribute you have created must be of type select in
eav_attribute
table for customer address entity.