Для расчета стоимости доставки требуется знать общий вес товара, его объем, город отправителя и город получателя. Если бы все эти данные заполнял пользователь, то скорее всего он бы просто ушел.
Данное решение берет общий вес товара, считает общий объем товара (вам нужно только указать номер дополнительного поля в котором хранится объем), город отправителя указывается в настройках скрипта, а пользователю остается ввести только город, в который необходимо осуществить доставку. Для городов, в которых присутствует терминалы ТК «Деловые линии», рядом с полем ввода, будет выведена информация о сроках доставки. Для других населенных пунктов эта информация не доступна.
При выборе другого способа доставки поле с вводом города разумеется скрывается.
В зависимости от спроса этого продукта, а так же от ваших комментариев и предложений скрипт будет обновляться и дополняться, в т.ч. такими параметрами как негабаритные части товара, страховка груза и пр.
Используется библиотека jQueryUI (распространяется бесплатно по лицензии MIT)







.ui-autocomplete{position:absolute;top:0;left:0;cursor:default;background:#fff;border:1px solid #ccc;max-height:200px;overflow-y:auto;overflow-x:hidden;}
.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}
.ui-menu .ui-menu{position:absolute}
.ui-menu .ui-menu-item{position:relative;padding:3px 1em 3px .4em;margin:0px;cursor:pointer;min-height:0;list-style:none;display:block}
.ui-menu .ui-menu-item:hover{background: #e6e6e6}
.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}
.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:0px}
.ui-menu .ui-menu-icon{left:auto;right:0}
.ui-autocomplete-loading{background: #fff url('/images/ajsml.gif') center right no-repeat !important;}
#city {width:300px;}
ui-autocomplete
– выпадающее окно со списком городов;
ui-autocomplete-loading
– состояние окна при загрузке списка;
ui-menu
– список городов;
ui-menu-item
– отдельный пункт в списке;
#city
– поле ввода города доставки;
<?if($PAGE_ID$=='checkout')?>
<script type="text/javascript" src="/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="/js/delivery.min.js"></script>
<script type="text/javascript">
$(function () {
AddDL ('$ORDER_WEIGHT$', $ORDER_TOTAL_RAW$, 1);
});
</script>
<?endif?>
Намите на ссылку "Добавить способ доставки", введите название способа доставки "Доставка ТК "Деловые линии" и сохраните.
После вашего описания доставки добавьте код
<div id="dl" style="display: none"></div>

Активируйте галочку напротив пункта "Использовать модуль расчёта стоимости доставки", в выпадающем списке выберите "Внешний калькулятор". Далее нажимаем "Настройки модуля" и в появившемся окне ставим галочку "Разрешить нулевую величину". Сохраняем.