Сейчас узнаем, какой подарок выпадет именно Вам
Крутите колесо
Ура, вы выиграли!
Ваш приз:
Годовой доступ
к видео на mo-ti -20%
по промокоду T19RAY
Промокод действителен 3 дня

Оформить доступ с промокодом
100
Как разрешить активацию промокода только от определённой суммы Tilda
Бассейн на дачу
SKU: 700.435667
40000
р.
70000
р.
Сборный каркасный бассейн серии Intex Prism Frame прямоугольной формы в DELUXE комплектации с фильтр-насосом, лестницей. Запатентованная технология SUPER-TOUGH обеспечивает надежность и долговечность бассейна

Как разрешить активацию промокода только от определённой суммы Tilda

Применить промокод в корзине можно только если достигнута определённая сумма заказа
1
Создали корзину с полем промокод (тестовый промокод для примера D15)
2
Создали блок BF503 со ссылкой #popup:error
Задали заголовок - Ошибка!
Задали описание -
Чтобы сработал промокод - цена заказа должна быть выше 100 000 руб
3
Добавили блок Т123 и вставили в него код
В коде заменили свой лимит для промокода
//Лимит для промокода
const limit = 100000;
Библиотека для примера
<a href="#popup:error" class="error-popup"></a>

<script>
//Лимит для промокода
const limit = 100000;
document.addEventListener("DOMContentLoaded", function(){

let saveinputPC='';
let cartID = document.querySelector('div[data-record-type="706"]').getAttribute('id').replace(/[^0-9]/g, '');
let pcLid = document.querySelector('.t-input-group_pc').getAttribute('data-input-lid');
const wrapperPromocode = document.createElement('div');

setTimeout(function(){
    const promocodeBtn = document.querySelector('.t-inputpromocode__btn');
    wrapperPromocode.classList.add('pcodeWrp');
    promocodeBtn.parentNode.insertBefore(wrapperPromocode, promocodeBtn);
    wrapperPromocode.appendChild(promocodeBtn);

    saveinputPC = document.querySelector('.t-inputpromocode__wrapper').innerHTML;

    document.addEventListener('click', function(event) { 
        if(event.target.closest('.pcodeWrp')) {
            let summ = +tcart.prodamount;
            if(summ<limit){
                document.querySelector('.error-popup').click();
            };
        };
    });
    
}, 1500);

function ChangePromo(){
    let summ = +tcart.prodamount;
    
    const promoWrp = document.querySelector('.pcodeWrp');
    
    if(summ>=limit){
        if(promoWrp!=null)  promoWrp.classList.remove('blok-promo');
    }else{
        if(promoWrp!=null)  promoWrp.classList.add('blok-promo');
        if ( window.tcart.hasOwnProperty("promocode") ){
            delete window.tcart.promocode; 
            tcart__updateTotalProductsinCartObj();
            tcart__reDrawTotal();
            document.querySelector('.t-inputpromocode__wrapper').innerHTML = saveinputPC;
            t_input_promocode_init(cartID,pcLid);
        };
    };
}; 

function startChPromo(){
    ChangePromo();
    setTimeout(function(){ ChangePromo()}, 4500);
};

//При открытии страницы
setTimeout(function(){
    startChPromo();
}, 1500);


//При нажатии на кнопку корзину
let cartIcon = document.querySelectorAll('.t706__carticon');
cartIcon.forEach(i => i.addEventListener('click',  startChPromo ) );

//При нажатии на минус, плюс и удаление в корзине
let cartProd = document.querySelectorAll('.t706__cartwin-products');
cartProd.forEach(i => i.addEventListener('click',  startChPromo ) );


//При потере фокуса в поле количества в корзине
let cartQ = document.querySelectorAll('.t706__cartwin-products');
for (let i = 0; i < cartQ.length; i++) {
   cartQ[i].addEventListener('input', function() {
    setTimeout(function(){
        let cartQinp = document.querySelectorAll('.t706__cartwin-products input');
        cartQinp.forEach(i => i.addEventListener('focusout',  startChPromo ) );
    }, 500);    
   });
};

//При нажатии на кнопку #order , minus, plus, delete
document.addEventListener('click', function(e){
    let el = false; let link = e.target.getAttribute('href');
    if (link != null) { if(link.includes('#order')) el = true;
    }else{  if( e.target.closest('a[href^="#order"]') !=null ) el = true };
    if(el) startChPromo();
});

});
</script>


<style>
.t-inputpromocode__wrapper {
    display: flex !important;
}
.t-inputpromocode__btn {
    height: 56px !important;
}    
.pcodeWrp {
    cursor: pointer;
}
.pcodeWrp.blok-promo>div {
    pointer-events: none;
}
</style>
Made on
Tilda