<script>
document.addEventListener('DOMContentLoaded', function() {
//Проверяем, открыта ли отдельная страница товара или это другая страница
const singleProduct = document.querySelector('.t-store__prod-snippet__container');
const ucCrumbsBlock = document.querySelector('[data-record-type="758"]');
//Если это не отдельная страница, но на ней есть крошки
if(singleProduct==null){
//То показываем блок с крошками
if(ucCrumbsBlock!=null) ucCrumbsBlock.querySelector('.t758').classList.add('show-crumbs');
}else{
//Если это отдельная страница, то ждём загрузку товара
let startFunction = true;
let tistore = setInterval(function() {
setTimeout(function(){
const singleProductName = singleProduct.querySelector('.js-product-name');
//Если имя товара загрузилось и блок крошек есть на странице, то выполняем заданную функцию заполнения крошек
if ( singleProductName!=null ){
clearInterval(tistore)
setTimeout(function(){
if( startFunction && ucCrumbsBlock!=null ) fillCrumbs(singleProductName);
startFunction = false;
}, 200);
};
}, 600);
}, 100);
};
//Заполняем крошки на отдельной странице
function fillCrumbs(em){
//Получаем название продукта
const productName = em.innerText;
//Проверяем страницу перехода/реферер
const referrer = document.referrer;
//Получаем хост
const hostName = document.location.hostname;
//Проверяем, был ли переход со страниц сайта или переход со стороннего ресурса
if(referrer.includes(hostName)){
//Если переход по сайту
//Проверяем запись крошек в LS
const crumsbList = localStorage.getItem('crumsbList');
//Если запись такая есть
if(crumsbList!=null){
//Заполням хлебные крошки
ucCrumbsBlock.querySelector('.t758__list').innerHTML = crumsbList;
//Получаем последнюю крошку
const lastCrumbs = ucCrumbsBlock.querySelector(".t758__list_item:last-child");
//Получаем разделитель
const divider = ucCrumbsBlock.querySelector(".t758__list:first-child .t758__breadcrumb-divider");
//Клонируем последнюю крошку
const clone = lastCrumbs.cloneNode(true);
//Добавляем разделитель в последнюю крошку
lastCrumbs.appendChild(divider.cloneNode(true));
//Перемещаем клон в конец крошек
ucCrumbsBlock.querySelector('.t758__list').appendChild(lastCrumbs.cloneNode(true));
//Удаляем активный класс у предпоследней крошки
lastCrumbs.querySelector('.t-menu__link-item').classList.remove( 't758__link-item_active' );
//Удаляем ссылку из клон-крошки и прописываем название крошки
const newLastCrumbs = ucCrumbsBlock.querySelector(".t758__list_item:last-child");
const crumsLink = newLastCrumbs.querySelector('.t-menu__link-item');
crumsLink.removeAttribute("href");
crumsLink.innerText = productName;
//Добавляем класс к клон-крошке
newLastCrumbs.classList.add('product-crumb');
//Удаляем стрелку у последней крошки
newLastCrumbs.querySelector('span').remove();
};
};
//показываем блок с крошками
ucCrumbsBlock.querySelector('.t758').classList.add('show-crumbs');
};
//Проверяем, был ли сделан клик по кнопке "Подробнее о товаре"
function checkUrlInClickTarget(event) {
let productInfoLink = event.target.closest('a[href*="/tproduct/"]');
if (productInfoLink) {
//Проверяем, есть ли блок крошек на странице
//Если блок с крошками есть на странице, то
if (ucCrumbsBlock) {
const crumsbList = ucCrumbsBlock.querySelector('.t758__list').innerHTML;
localStorage.setItem('crumsbList', crumsbList);
};
};
};
document.addEventListener('click', checkUrlInClickTarget);
});
</script>
<style>
.t758 {
opacity: 0;
}
.t758.show-crumbs {
opacity: 1;
}
li.t758__list_item.product-crumb {
pointer-events: none;
}
</style>