<!--КОД ДЛЯ СКАЧИВАНИЯ ЗАКАЗА-->
<a class='load-button' href='' download>download</a>
<script>
document.addEventListener("DOMContentLoaded", function() {
(function () {
let phoneDetected = false;
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|BB|PlayBook|IEMobile|Windows Phone|Kindle|Silk|Opera Mini/i.test(navigator.userAgent)) {
phoneDetected = true;
};
let loadButton = document.querySelector('.load-button');
let urlAdd = 'https://moti.domenforexample.ru/pdfmaker/pdf-first.php';
loadButton.setAttribute('href', 'https://moti.domenforexample.ru/pdfmaker/pdf-second.php');
if(phoneDetected){
urlAdd = 'https://moti.domenforexample.ru/pdfmaker/pdf-create-mob.php';
//loadButton.setAttribute('target', '_blank');
loadButton.setAttribute('href', '');
};
//Проверка валидности URL
const isValidUrl = (str) => {
try {
return !!new URL(str);
}
catch (_) {
return false;
}
};
setTimeout(function() {
const sidebarContent = document.querySelector('.t706__sidebar-content');
const cartpage = document.querySelector('.t706__cartpage');
const jsSuccessbox = document.querySelector('.js-successbox.t-form__successbox');
//Добавляем доп кнопку
function addDownloadBtn(){
if(sidebarContent!=null && cartpage!=null){
//const sidebar_bottom = sidebarContent.querySelector('.t706__sidebar-bottom');
const tform__submit = cartpage.querySelector('.t-form__submit');
const div = document.createElement("div");
div.className = "print-price-button t-text";
div.innerHTML = `
<div class="button-wrapper">
<div class="button-icon"></div>
<div class="button-text">Распечатать заказ</div>
</div>
`;
//sidebar_bottom.insertAdjacentElement('afterEnd', div.cloneNode(true));
tform__submit.insertAdjacentElement('afterEnd', div.cloneNode(true));
};
};
//addDownloadBtn();
let btn = '';
let tableRows = '';
let totalRow = '';
let printDate = '';
let part1Link = '';
let part1Image = '';
let part2Link = '';
let part2Image = '';
let part3Link = '';
let part3Image = '';
//Отслеживаем нажатие по доп кнопке
const printBtn = document.querySelectorAll(".print-price-button");
printBtn.forEach(function (el, index) {
el.addEventListener('click',function(e) {
btn = this;
fillProductData();
setTimeout(function() {
sendCartData();
}, 500);
});
});
//Отслеживаем нажатие по кнопке отправки в корзине
document.querySelector(".t706 .t-submit").addEventListener('click', function(event) {
btn = this;
fillProductData();
});
function fillProductData(){
const partsBlock = document.querySelectorAll('.uc-download-data .t692__col');
part1Link = partsBlock[0].querySelector('.t-card__link').getAttribute('href');
part1Image = partsBlock[0].querySelector('.t692__blockimg').getAttribute('data-original');
part2Link = partsBlock[1].querySelector('.t-card__link').getAttribute('href');
part2Image = partsBlock[1].querySelector('.t692__blockimg').getAttribute('data-original');
part3Link = partsBlock[2].querySelector('.t-card__link').getAttribute('href');
part3Image = partsBlock[2].querySelector('.t692__blockimg').getAttribute('data-original');
const total = tcart.amount.toLocaleString();
const currency = tcart.currency;
const productList = tcart.products;
const positionLength = tcart.products.length;
tableRows = '';
for(let i=0; i<positionLength; i++){
const product = productList[i];
const prod_pos = i+1;
const prod_img = product['img'];
const prod_title = product['name'];
let prod_price = product['price'].toLocaleString();
const prod_quant = product['quantity'];
let prod_total = product['amount'].toLocaleString();
const prod_url = product['url'];
let prod_sku = product['sku'];
let prod_size = '-';
let product_dl = product['pack_x'];
let product_sh = product['pack_y'];
let product_vi = product['pack_z'];
if(product_dl!=undefined && product_sh!=undefined && product_vi!=undefined){
prod_size = product_dl+'x'+product_sh+'x'+product_vi;
};
if(prod_price=='0'){
prod_price= `Цена не указана`;
}else{
prod_price = `${prod_price} <span class="cur-span">${currency}`;
};
if(prod_total=='0'){
prod_total = `Цена не указана`;
}else{
prod_total = `${prod_total} <span class="cur-span">${currency}`;
};
console.log(prod_price);
console.log(prod_total);
if(prod_sku!=undefined) prod_sku = `(${prod_sku})`;
tableRows +=`
<tr>
<td>
<a href="${prod_url}">
${prod_pos}
</a>
</td>
<td>
<a href="${prod_url}">
<img class="t-img" src="${prod_img}">
</a>
</td>
<td>
<a href="${prod_url}">
${prod_title} ${prod_sku}
</a>
</td>
<td>${prod_size}</td>
<td>${prod_price}</span></td>
<td>${prod_quant}</td>
<td>${prod_total}</span></td>
</tr>
`;
};
totalRow = `${total} <span class="cur-span-total">${currency}</span>`;
const date = new Date();
printDate = `${ addZero(date.getDate()) }.${ addZero(date.getMonth() + 1)}.${addZero(date.getFullYear()) }`;
};
function sendCartData(){
btn.classList.add('load-time');
jsSuccessbox.classList.add('load-time');
formData = new FormData();
formData.append('productList', tableRows);
formData.append('totalSumm', totalRow);
formData.append('printDate', printDate);
formData.append('part1Link', part1Link);
formData.append('part1Image', part1Image);
formData.append('part2Link', part2Link);
formData.append('part2Image', part2Image);
formData.append('part3Link', part3Link);
formData.append('part3Image', part3Image);
fetch(urlAdd, { method: 'POST', body: formData })
.then(function (response) {
return response.text();
})
.then(function (body) {
if(body=="error data"){
console.log('error data');
}else{
let correct = false;
if(isValidUrl(body)){
loadButton.setAttribute('href', body);
correct = true;
};
if(body=="successfully"){
correct = true;
};
if(correct){
loadButton.click();
setTimeout(function() {
btn.classList.remove('load-time');
jsSuccessbox.classList.remove('load-time');
}, 2500);
};
};
});
};
function addZero(num) {
if (num >= 0 && num <= 9) {
return '0' + num;
} else {
return num;
}
};
window.myAfterSendedFunction = function (form) {
if (!form) return;
sendCartData();
};
if (document.readyState !== 'loading') {
us_eventFromCartToPayment();
} else {
document.addEventListener('DOMContentLoaded', us_eventFromCartToPayment);
};
function us_eventFromCartToPayment() {
const forms = document.querySelectorAll('.t706 .js-form-proccess');
Array.prototype.forEach.call(forms, function (form) {
form.addEventListener('tildaform:aftersuccess', function () {
window.myAfterSendedFunction(form);
});
});
};
}, 1000);
})();
});
</script>
<style>
.uc-download-data{
display: none;
}
.print-price-button {
position: relative;
}
.load-time:after {
content: "";
opacity: 0.5;
background-image: url(https://tilda.ru/tpl/img/ajax-loader.gif);
background-size: 35px;
background-position: center;
background-repeat: no-repeat;
height: 100%;
width: 100%;
position: absolute;
top: 0;
left: 0;
}
.load-time div {
opacity: 0.2;
}
.js-successbox.load-time.t-form__successbox {
opacity: 0.6;
}
.print-price-button.t-text {
border-radius: 20px;
margin-top: 5px;
font-weight: 600;
color: #000000;
border: 1px solid #dddddd;
background-color: #f5f5f5;
cursor: pointer;
transition: all 0.2s;
width: 100%;
}
.button-wrapper {
padding: 12px 0;
display: flex;
justify-content: center;
align-items: center;
}
.print-price-button.t-text:not(.load-time):hover {
background-color: #fec800;
}
.button-icon {
background-image: url(https://static.tildacdn.com/tild6238-3065-4138-b936-303137363262/2849806-copy-interfa.svg);
width: 35px;
height: 35px;
background-position: center;
background-size: contain;
background-repeat: no-repeat;
margin-right: 12px;
}
@media screen and (max-width:960px){
.print-price-button.t-text {
width: calc(100% - 40px);
margin: auto;
}
.t706__sidebar-bottom {
margin-bottom: 15px;
}
.t706__cartpage-form .print-price-button.t-text {
width: 100%;
margin: auto;
}
}
@media screen and (max-width:640px){
.t706__cartpage-form .t-form__submit {
padding-bottom: 5px;
}
}
</style>