Делаем платную доставку до квартиры стоимостью 5% от суммы заказа Tilda

Как выполнили данный пример:

1. Создали блок ST305N и заполнили его контентом
2. Добавили на сайт блок с корзиной ST100
3. В корзине добавили поле Варианты доставки
4. Добавили виды доставок в поле Варианты значений (доставка до квартиры добавили дважды). Порядок важен.

Самовывоз (бесплатно)
Доставка до терминала ТК = 600
Доставка до квартиры = 5
Доставка до квартиры = 5

5. Добавили скрипт на страницу в блок ДРУГОЕ►T123


<style>
.t706__cartwin-totalamount-wrap {
    display:block !important;
}


.t706__product-imgdiv {
    width: 100px !important;
    height: 70px !important;
    background-repeat: no-repeat;
    background-size: contain !important;
    background-color: #ffffff !important;
}



</style>

<script>
   $( document ).ready(function() {
//Скрываем доп поле с лоставкой до квартиры       
  $(".t-radio_delivery:eq(3)").parent('.t-radio__control').hide();       
//При клике на виды доставки       
  $( ".t-radio_delivery" ).click(function() {
//Удаляем у всех видов спец класс
  $('.t-radio_delivery').removeClass('choose');     
//Добавляем спец класс к активной  
  $(this).addClass('choose');
});   
       
   //При клике на определённые элементы активируем нашу функцию
   $( ".t706__cartwin-products , .t706__carticon-wrapper , [href = '#order']" ).click(function() {

setTimeout(function() { 
//Получаем значение суммы товаров   
     var summ = $(".t706__cartwin-prodamount").html();
//Очищаем сумму от лишних символов  
     summ =  summ.replace(/\s+/g, '').trim();
     summ = summ.replace("&nbsp;р.", "");
     console.log(summ);
//Переводим строку в число     
     summ = parseInt(summ); 
     console.log(summ);
//Вычисляем 5% от суммы заказа
     var deliveryflat = 0.05*summ;
    console.log(deliveryflat);
//Округляем цену за доставку до целого числа
     deliveryflat = deliveryflat.toFixed(); 
//Прописываем полученное значение в Поле доставка до квартиры   
      $('.t-radio_delivery:eq(2)').attr("data-delivery-price", deliveryflat );
      $('.t-radio_delivery:eq(3)').attr("data-delivery-price", deliveryflat );
  }, 100);

  setTimeout(function() { 
//Если первая доставка до квартиры выбрана      
       if ($(".t-radio_delivery:eq(2)").hasClass("choose")) {
//То активируем вторую доставку до квартиры           
       $(".t-radio_delivery:eq(3)")[0].click(); 
//Скрываем первую       
       $(".t-radio_delivery:eq(2)").parent('.t-radio__control').hide();
//Показываем вторую       
       $(".t-radio_delivery:eq(3)").parent('.t-radio__control').show();};   
      
//Если вторая доставка до квартиры выбрана      
       if ($(".t-radio_delivery:eq(3)").hasClass("choose")) {
//То активируем первую доставку до квартиры                 
       $(".t-radio_delivery:eq(2)")[0].click(); 
//Скрываем вторую        
       $(".t-radio_delivery:eq(3)").parent('.t-radio__control').hide();
//Показывем первую       
       $(".t-radio_delivery:eq(2)").parent('.t-radio__control').show(); };   
  }, 200);   }); //click 
  });//ready
   
</script>
Made on
Tilda