Сейчас узнаем, какой подарок выпадет именно Вам
Крутите колесо
Как добавить скидку от суммы в калькуляторе Tilda
Для малышей и их родителей
#Юные художники
Рисование для детей с 2 до 3 лет – это занимательная игра. Малыш открывает для себя новые краски мира, изучает линии и формы, экспериментирует с цветами. Чем раньше кроха откроет для себя мир творчества – тем лучше. Рисование оказывает большое влияние на эмоциональное и интеллектуальное состояние малыша, не говоря о развитии мелкой моторики.

Стоимость занятия

Скидки для групп

Дети
Взрослые
Цена: 0 руб.
Цена: 0 руб.

Как добавить скидку от суммы в калькуляторе Tilda

1
Создали блок CR32N c формой и добавили в неё поля:
  • Кол-во с именем children
  • Кол-во с именем adult
  • Поле калькулятор с именем finalsumm
В формулу проставили 0
Название в корзине:
Занятие - ( дети: children , взрослые: adult)
2
Форме задали имя formcalc
3
Добавили код в блок Другое - Т123
В коде прописали суммы и скидки за них
"3000" : "400",
"5000" : "800",
"8000" : "1500"
Mo-ti Level Up
Видео инструкции по добавлению кода и работе с Zero Block.
Создаём скидку в калькуляторе по заданному прайсу.
Выставляем несколько пороговых сумм для скидок.
Длительность видео: 10 мин
Фрагмент видео
Библиотека для примера
<script>
document.addEventListener("DOMContentLoaded", function() {
    (function () {
        
        const discountObj = {
          "3000": "400",
          "5000": "800", 
          "8000": "1500"
        };
        
        
        function findElement(selector) {
          return document.querySelector(selector);
        }
        
        function findElements(selector) {
          return document.querySelectorAll(selector);
        }
        
        const formCalcInput = findElement('input[value="formcalc"]');
        if (formCalcInput) {
          const form = formCalcInput.closest('form');
          if (form) {
            form.classList.add('formcalc');
          }
        }
        
        const clc = findElement('input[name="finalsumm"]');
        const fsummInput = findElement('input[name="fsumm"]');
        const discInp = findElement('input[name="discount"]');
        
        if (fsummInput) {
          const fsummGroup = fsummInput.closest('.t-input-group');
          if (fsummGroup) {
            fsummGroup.style.display = 'none';
          }
        }
        
        if (discInp) {
          const discGroup = discInp.closest('.t-input-group');
          if (discGroup) {
            discGroup.style.display = 'none';
          }
        }
        
        
        
        function findResult() {
          setTimeout(function() {
            const adultInput = findElement('input[name="adult"]');
            const childrenInput = findElement('input[name="children"]');
            

            if (!adultInput || !childrenInput || !discInp) {
              return;
            }
            
            const adult = +adultInput.value || 0;
            const children = +childrenInput.value || 0;
            const summ = adult * 1000 + children * 600;
            let discount = 0;
            
      
            Object.entries(discountObj).forEach(([key, value]) => {
              const limit = +key;
              if (summ >= limit) {
                discount = +value;
              }
            });
            
            discInp.value = discount;
            
            discInp.dispatchEvent(new Event('input', { bubbles: true }));
            
          }, 300);
        }
        
        findResult();
        
        const formCalc = findElement('.formcalc');
        if (formCalc) {
          const events = ['change', 'click', 'keyup'];
          
          events.forEach(eventType => {
            formCalc.addEventListener(eventType, function(e) {
  
              if (e.target.matches('input, .t-inputquantity__btn')) {
                findResult();
              }
            });
          });
        }
 
 
 
    })();    
});    
</script>



<style>
.t706__product-title {
    font-weight: 300;
    font-size: 14px;
}    
</style>
Made on
Tilda