<script>
const artList = [
"SRT23794",
"SRT23710-1"
];
const titleText = ' товара под заказ согласовывает менеджер';
const buttonText = 'Оформить заявку';
let findPosition = false;
let paymTitle = '';
function t_onReady(callback) {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callback);
} else {
callback();
}
}
function t_onFuncLoad(funcName, callback) {
const checkFunction = () => {
if (window.tcart && window.tcart[funcName]) {
callback();
} else {
setTimeout(checkFunction, 100);
}
};
checkFunction();
}
t_onReady(function() {
setTimeout(function() {
t_onFuncLoad('tcart__init', function() {
// Получаем оригинальный текст кнопки
const submitBtn = document.querySelector('.t706 .t-submit span');
let btnText = submitBtn ? submitBtn.textContent : '';
// Получаем заголовок способа оплаты
const paymentTitleEl = document.querySelector('.t-input-group_pm .t-input-title');
paymTitle = paymentTitleEl ? paymentTitleEl.textContent : '';
function checkProductInCart() {
findPosition = false;
if (!window.tcart || !window.tcart.products) {
unBlockPayment();
return;
}
const productNum = window.tcart.products.length;
for (let i = 0; i < productNum; i++) {
let artInCart = window.tcart.products[i].sku;
for (let j = 0; j < artList.length; j++) {
if (artInCart == artList[j]) {
findPosition = true;
break;
}
};
if (findPosition) break;
};
if (findPosition) {
blockPayment();
} else {
unBlockPayment();
}
};
function blockPayment() {
const titleBlockMode = titleText;
// Разблокируем и выбираем оплату наличными
const cashRadio = document.querySelector('input[type="radio"][value="cash"]');
if (cashRadio) {
cashRadio.disabled = false;
cashRadio.checked = true;
const event = new Event('change', { bubbles: true });
cashRadio.dispatchEvent(event);
}
// Блокируем другие способы оплаты
const paymentRadios = document.querySelectorAll('.t-radio__wrapper-payment input[type="radio"]');
paymentRadios.forEach(radio => {
if (radio.value !== 'cash') {
radio.disabled = true;
}
});
// Добавляем класс блокировки
const paymentWrappers = document.querySelectorAll('.t-radio__wrapper-payment');
paymentWrappers.forEach(wrapper => {
wrapper.classList.add('blkpayment');
});
// Скрываем блок способа оплаты
const paymentBlock = document.querySelector('.t-input-group_pm .t-input-block');
if (paymentBlock) {
paymentBlock.style.display = 'none';
}
// Меняем текст кнопки
const submitBtn = document.querySelector('.t706 .t-submit span');
if (submitBtn) {
submitBtn.textContent = buttonText;
}
// Меняем заголовок
const paymentTitleEl = document.querySelector('.t-input-group_pm .t-input-title');
if (paymentTitleEl) {
paymentTitleEl.textContent = paymTitle + titleBlockMode;
}
}
function unBlockPayment() {
// Разблокируем все способы оплаты
const paymentRadios = document.querySelectorAll('.t-radio__wrapper-payment input[type="radio"]');
paymentRadios.forEach(radio => {
radio.disabled = false;
});
// Убираем класс блокировки
const paymentWrappers = document.querySelectorAll('.t-radio__wrapper-payment');
paymentWrappers.forEach(wrapper => {
wrapper.classList.remove('blkpayment');
});
// Показываем блок способа оплаты
const paymentBlock = document.querySelector('.t-input-group_pm .t-input-block');
if (paymentBlock) {
paymentBlock.style.display = '';
}
// Восстанавливаем текст кнопки
const submitBtn = document.querySelector('.t706 .t-submit span');
if (submitBtn && btnText) {
submitBtn.textContent = btnText;
}
// Восстанавливаем заголовок
const paymentTitleEl = document.querySelector('.t-input-group_pm .t-input-title');
if (paymentTitleEl && paymTitle) {
paymentTitleEl.textContent = paymTitle;
}
}
// Наблюдатель за изменениями в корзине
const cartElement = document.querySelector(".t706__cartwin-products");
if (cartElement) {
const observer = new MutationObserver(function(mutations) {
checkProductInCart();
});
observer.observe(cartElement, {
childList: true,
subtree: true,
characterData: true
});
}
// Первоначальная проверка
setTimeout(checkProductInCart, 100);
});
}, 200);
});
</script>
<style>
.blkpayment {opacity: 0.3}
</style>