<!-- Выводим надпись о товаре "под заказ" -->
<script>
document.addEventListener("DOMContentLoaded", function() {
//Фраза для карточки товара
const productMessage = `
<p>Данный товар отшивается по предзаказу</p>
<p>Срок изготовления 7-14 дней!</p>
`;
//Фраза для корзины
const cartMessage = `В корзине имеются позиции которые отшиваются под заказ`;
let snippetSearchRepeat = 0;
let snippet = false;
let tistore = setInterval(function() {
const productListNum = document.querySelector('.t-store__product-snippet');
if(productListNum) {
if(productListNum.hasAttribute("data-product-url")){
clearInterval(tistore);
snippet = true;
showProductMessage();
};
};
snippetSearchRepeat++;
if(snippetSearchRepeat>50) clearInterval(tistore);
}, 100);
const gridCont = document.querySelectorAll(".js-store-grid-cont");
gridCont.forEach(function (el, index) {
el.addEventListener('tStoreRendered',function(e) {
showProductMessage();
});
});
function showProductMessage(){
setTimeout(function(){
const prevMessage = document.querySelectorAll(".message-prod-info");
if(prevMessage.length){
prevMessage.forEach(function (el, index) {
el.remove();
});
};
let productWithLid = document.querySelectorAll(".t-popup.t-popup_show .js-store-product.js-product.t-store__product-popup");
if(snippet){
productWithLid = document.querySelectorAll(".js-store-product.js-product.t-store__product-snippet");
};
productWithLid.forEach(function (el, index) {
const quant = el.getAttribute('data-product-inv');
if(quant!=null && quant==''){
const infoWrapper = el.querySelector('.t-store__prod-popup__info');
const orderButton = el.querySelector('.t-store__prod-popup__btn-wrapper');
const messageDiv = document.createElement("div");
messageDiv.className = "message-prod-info t-text";
messageDiv.innerHTML = productMessage;
infoWrapper.insertBefore(messageDiv, orderButton);
};
});
}, 300);
};
setTimeout(function() {
let cartInfo = document.querySelector('.t706__cartpage-info');
if(cartInfo==null) cartInfo = document.querySelector('.t706__cartwin-products');
if(cartInfo!=null){
const observer = new MutationObserver(mutationRecords => {
showCartMessage()
});
observer.observe(cartInfo, {
childList: true,
subtree: true,
characterDataOldValue: true
});
};
}, 1000);
function showCartMessage(){
const prevMessage = document.querySelectorAll(".message-cart-info");
if(prevMessage.length){
prevMessage.forEach(function (el, index) {
el.remove();
});
};
const cartProducts = tcart.products;
let preProductInCart = false;
for(let i=0; i<cartProducts.length; i++){
const inv = cartProducts[i].inv;
if(inv==undefined){
const prodInCart = document.querySelectorAll('.t706__product[data-cart-product-i="'+i+'"]');
if(prodInCart.length){
for(let j=0; j<prodInCart.length; j++){
prodInCart[j].classList.add('request-product');
};
};
preProductInCart = true;
};
};
if(preProductInCart){
const sidebarTop = document.querySelector('.t706__sidebar-top');
if(sidebarTop!=null){
const messageSidebarTop = document.createElement("div");
messageSidebarTop.className = "message-cart-info t-text";
messageSidebarTop.innerHTML = cartMessage;
sidebarTop.insertAdjacentElement('afterEnd', messageSidebarTop);
};
const cartpageForm = document.querySelector('.t706__cartpage-form-wrapper');
if(cartpageForm!=null){
const messageCartpageForm = document.createElement("div");
messageCartpageForm.className = "message-cart-info t-text";
messageCartpageForm.innerHTML = cartMessage;
cartpageForm.prepend(messageCartpageForm);
};
const cartwinTop = document.querySelector('.t706__cartwin-top');
if(cartwinTop!=null){
const messageCartTop = document.createElement("div");
messageCartTop.className = "message-cart-info t-text";
messageCartTop.innerHTML = cartMessage;
cartwinTop.insertAdjacentElement('afterEnd', messageCartTop);
};
};
};
//При открытии карточки товара
document.addEventListener('click', function(event) {
if(event.target.closest('a[href*="/tproduct/"]')) showProductMessage();
});
//При изменении опций
document.addEventListener('change', function(event) {
if(event.target.closest('.js-product-controls-wrapper')) showProductMessage();
});
});
</script>
<style>
.message-prod-info.t-text {
font-weight: 600;
background-color: #fef4f2;
width: max-content;
padding: 10px;
border-radius: 8px;
font-size: 14px;
margin-top: 7px;
margin-bottom: 7px;
}
.message-cart-info{
background-color: #fef4f2;
padding: 10px;
border-radius: 8px;
margin-bottom: 12px;
font-size: 14px;
font-weight: 600;
}
.message-prod-info.t-text p:last-child {
font-size: 12px;
font-weight: 300;
margin-top: 6px;
}
.request-product{
background-color: #fef4f2;
}
.t706__product {
padding: 12px;
box-sizing: border-box;
border-radius: 10px;
margin-bottom: 10px;
}
.t706__cartwin-content .message-cart-info.t-text {
margin-top: 14px;
}
</style>