Я сделал это, сначала я делаю поле города как раскрывающийся с помощью layoutprocess.php.
После этого у magento есть API для расчета стоимости доставки, которая составляет эстимейт-методы доставки . Этот API работает по следующему пути
/ продавец / Magento / модуль-контроль / просмотр / интерфейс / веб / JS / просмотр / shipping.js
Есть метод, в котором мы можем установить имя поля, для которого мы хотим вызвать API.
checkoutProvider.on ('shippingAddress', функция (shippingAddrsData) {
......}
Спасибо