Применить промокод по клику на кнопку в Тильда

Модификация автоматически применяет промокод в корзине Тильды при клике на кнопку

Промокод можно применять на определенный товар Tilda или промокод на выборочную группу товаров Tilda. Это позволяет создавать уникальные акции для отдельных категорий продуктов.

Автор: Борцов | Код для Тильды
Инструкция
Код

Инструкция

Инструкция:
  1. Добавили в зеро блок кнопку и присвоили ей класс - auto-promo-button
  2. Добавили кнопке ссылку вида #order:Название_товара=3000
  3. Создали промокод (Настройки сайта -> Платежные системы -> Промокоды -> Добавить промокод)
  4. Вставили код ниже в .t123 и заменили в нем промокод на свой

Код

<style>
/*
* Кастомные стили для блока с сообщением об успешной активации промокода.
* Вы можете менять значения (цвета, отступы) под дизайн вашего сайта.
*/
.t-inputpromocode__wrapper .t-text {
background-color: #E8F5E9 !important; /* Светло-зеленый фон */
color: #1B5E20 !important; /* Темно-зеленый цвет текста */
padding: 5px !important; /* Внутренние отступы для "воздуха" */
border-radius: 8px !important; /* Скругление углов */
border: 1px solid #A5D6A7 !important; /* Тонкая зеленая рамка */
margin-top: 15px !important; /* Отступ сверху от полей ввода */
text-align: center !important; /* Выравнивание текста по центру */
}
</style>

<script>
t_onReady(function() {
try {
t_onFuncLoad('t_input_promocode_init', function() {
document.querySelectorAll('.auto-promo-button').forEach(function(button) {
button.addEventListener('click', function(event) {
// Здесь укажите ваш промокод, который нужно автоактивировать
var promoCode = 'ASDFA23LKJ2';

var promoInput = document.querySelector('input.t-inputpromocode');
if (promoInput) {
promoInput.value = promoCode;

var activateBtn = document.querySelector('.t-inputpromocode__btn');
if (activateBtn) {
activateBtn.style.display = 'table-cell';
}

var inputEvent = new Event('input', { bubbles: true });
promoInput.dispatchEvent(inputEvent);

setTimeout(function() {
activateBtn.click();
}, 500);
}
});
});
});
} catch (error) {
console.error('Ошибка автоактивации промокода:', error);
}
});
</script>
Made on
Tilda