<script>
document.addEventListener("DOMContentLoaded", function(){

//Список вложенных разделов
let subsectionObj = {
    
"АЛКОГОЛЬНАЯ ПРОДУКЦИЯ": [
        "Водка",
        "Коньяк",
        "Пиво",
        "Сухое и полусухое вино",
        "Сладкое и полусладкое вино",
        "Игристое вино",
        "Ликер, бальзам",
    ],   

"МОРЕПРОДУКТЫ": [
        "Сельдь и соленая рыба",
        "Копченая рыба",
        "Икра",
        "Сушеная рыба",
        "Консервированная рыба",
    ],     
"КОНФЕТЫ": [
        "Мармелад",
        "Карамель",
        "Шоколадные конфеты",
        "Русский шоколад",
        "Конфеты в коробках",
    ],  
"МОЛОЧНЫЕ ПРОДУКТЫ": [
        "Сгущенное молоко, карамель",
        "Мороженое",
        "Кисломолочные продукты",
        "Творожные сырки",
        "Сыр, сливочное масло",
    ], 
"ЗАМОРОЖЕННЫЕ ПРОДУКТЫ": [
    "Русские блины",
    "Пельмени, вареники",
    "Русские пироги и выпечка",
    "Фрукты и ягоды",
    ], 
"МАРИНОВАННЫЕ ОВОЩИ": [
    "Лечо, салаты",
    "Грибы",
    ], 
"ВЫПЕЧКА": [
"Торты",
"Домашняя выпечка",
"Имбирный пряник",
"Сушки",
"Сухарики",
"Печенье, вафли",
"Хлеб",  
    ], 
"СЛАДОСТИ": [
"Халва",
"Джем, мед, повидло",
"Лукум",
"Зефир / пастила",
"Зерновые батончики",
    ], 
"ЧАЙ И КОФЕ": [
"Горячий шоколад",
"Чай",
"Кофе",
    ], 
"БЕЗАЛКОГОЛЬНЫЕ НАПИТКИ": [
"Лимонад",
"Русский квас",
"Соки, морс, кисель",
"Минеральная вода",
    ], 
"ЗАКУСКИ (СЕМЕЧКИ/ОРЕШКИ/СНЭКИ)": [
"Закуски, орехи",
"Семечки",
    ],
};



//Удаляем сылки в меню

$('.t978__menu a').removeAttr('href');

//При клике в меню
$(document).on('click', '.t978__menu a', function(){
    
    if( !$(this).hasClass('t978__menu-link_hook') ){
    
            let elem = $(this);
            let linkText = elem.text().toLowerCase();
            if(linkText=='все товары') linkText='все';
            $('.js-store-parts-switcher').each(function(){
                let part = $(this);
                let partText = part.text().toLowerCase();
                if(partText==linkText){
                    part.click();
                    let subsection = part.closest('.subsection');
                    subsection.addClass('show-subsection');
                    subsection.prev('.main-chapter').addClass('open-chapter');
                    $('.t978__tooltip-menu').hide();
          
                };
        
            });
        
    };
        
});


//При клике на крошку с подразделом
$(document).on('click', '.sub-crumb', function(){
    let elem = $(this).find('a');
    let linkText = elem.text().toLowerCase();
    if(linkText=='все товары') linkText='все';
    $('.js-store-parts-switcher').each(function(){
        let part = $(this);
        let partText = part.text().toLowerCase();
        if(partText==linkText){
            part.click();
            let subsection = part.closest('.subsection');
            subsection.addClass('show-subsection');
            subsection.prev('.main-chapter').addClass('open-chapter');
        };

    });
});





//При клике по разделам
$(document).on('click', '.js-store-parts-switcher', function(){
    
    setTimeout(function(){
    
        let active = $('.js-store-parts-switcher.t-active');
        if(active.length){
            let partText = active.text().toLowerCase();
            $('.t978__menu a').removeClass('t-active');
            
            let mainText = -1;
            
            $('.t758__link-item__wrapper a').removeClass('t758__link-item_active');
            
            
            let arrow = `<span class="t758__breadcrumb-divider">→</span>`;
            $('.t758__list li:eq(1) span').remove();
            $('.t758__list .dop-crumb').remove();
            
            
            //Если он содержит подраздел
            if( active.hasClass('sub-chapter') ){
                let subsection = active.closest('.subsection');
                mainText = subsection.prev('.main-chapter').text().toLowerCase();  
                
                partText = partText.substr(0,1).toUpperCase()+partText.substr(1);
                mainText = mainText.substr(0,1).toUpperCase()+mainText.substr(1);
                
                
                let crumb1 = `<li class="t758__list_item dop-crumb sub-crumb">
                                <div class="t758__link-item__wrapper">
                                    <a class="t-menu__link-item">${mainText}</a>
                                </div>
                                <span class="t758__breadcrumb-divider">→</span>
                            </li>`;
                
                
                let crumb2 = `<li class="t758__list_item dop-crumb">
                                <div class="t758__link-item__wrapper">
                                    <a class="t-menu__link-item t758__link-item_active">${partText}</a>
                                </div>
                            </li>`;
                            
                $('.t758__list li:eq(1)').append(arrow);
                
                $('.t758__list').append(crumb1);
                $('.t758__list').append(crumb2);
                

            //Если не содержит подраздел
            }else{
                
                partText = partText.substr(0,1).toUpperCase()+partText.substr(1);
                
                let crumb = `<li class="t758__list_item dop-crumb">
                                <div class="t758__link-item__wrapper">
                                    <a class="t-menu__link-item t758__link-item_active">${partText}</a>
                                </div>
                            </li>`;
                            
                $('.t758__list li:eq(1)').append(arrow);
                
                $('.t758__list').append(crumb);
                  
            };
            

            $('.t978__menu a').each(function(){
                let elem = $(this);
                let linkText = elem.text().toLowerCase();
                
                linkText = linkText.substr(0,1).toUpperCase()+linkText.substr(1);

                if(partText==linkText || mainText==linkText ){
                    elem.addClass('t-active');
                };
            });
            
            
            
            
            
        };
    
    }, 600);
   
});






let shopComplete = true;
function prodComplete(){
//При загрузке товаров
let tistore = setInterval(function() {
    setTimeout(function(){
        //Если блоки магазина есть на странице
        if ( document.querySelector('.js-store-grid-cont div') != null || document.querySelector('.t-store__prod-snippet__container') != null ){
            clearInterval(tistore) 
            if(shopComplete){
                shopComplete = false;
                //Запускаем нашу основную функцию
                setTimeout(function(){  makeSubsection(); }, 200); 
            };
        };
    }, 600);
}, 100);   
};
prodComplete();

//Фунцция формирования разделов
function  makeSubsection(){
    //определяем основные разделы
    Object.entries(subsectionObj).forEach((entry) => {
	    const [key, value] = entry;// раздел --- подраздел
        //Ищем основные разделы
        document.querySelectorAll('.js-store-parts-switcher').forEach(function(node) {
            let caption = node.innerText; //получаем название раздела
            if(key==caption) { // если нашли совпадение
                node.classList.add('main-chapter');//задаём класс основному разделу
                //Создаём контейнер для подразделов
                const div = document.createElement('div');
                div.className = 'subsection';
                node.after(div);//Помещаем подраздела за основным разделом
                //Ищем подразделы в этот разделе
                for(var i = 0; i < value.length; i++) {
                    document.querySelectorAll('.js-store-parts-switcher').forEach(function(elem) {   
                        let tName = elem.innerText;
                        if(value[i]==tName) {//Если нашли нужный подраздел
                            elem.classList.add('sub-chapter');//задаём класс подразделу
                            div.appendChild(elem);//перемещаем подраздел в нужный раздел
                        };
                    });
                };
            };
        });
    });
    
    //Поиск активного раздела при открытии страницы, чтобы раскрыть основной раздел
    document.querySelectorAll('.js-store-parts-switcher').forEach(function(component) { 
        if( component.classList.contains('sub-chapter') &&  component.classList.contains('t-active') ) {
            component.closest('.subsection').classList.add('show-subsection');
            component.previousElementSibling.classList.add('open-chapter');
        };
    });
    
    
    
    //Активация меню активного пункта при загрузке страницы + построение крошек
        let active = $('.js-store-parts-switcher.t-active');
        if(active.length){
            let partText = active.text().toLowerCase();
            $('.t978__menu a').removeClass('t-active');
            
            mainText = -1;
            
            $('.t758__link-item__wrapper a').removeClass('t758__link-item_active');
            
            
            let arrow = `<span class="t758__breadcrumb-divider">→</span>`;
            $('.t758__list li:eq(1) span').remove();
            $('.t758__list .dop-crumb').remove();
            
            
            //Если он содержит подраздел
            if( active.hasClass('sub-chapter') ){
                let subsection = active.closest('.subsection');
                mainText = subsection.prev('.main-chapter').text().toLowerCase();  
                
                partText = partText.substr(0,1).toUpperCase()+partText.substr(1);
                mainText = mainText.substr(0,1).toUpperCase()+mainText.substr(1);
                
                
                let crumb1 = `<li class="t758__list_item dop-crumb sub-crumb">
                                <div class="t758__link-item__wrapper">
                                    <a class="t-menu__link-item">${mainText}</a>
                                </div>
                                <span class="t758__breadcrumb-divider">→</span>
                            </li>`;
                
                
                let crumb2 = `<li class="t758__list_item dop-crumb">
                                <div class="t758__link-item__wrapper">
                                    <a class="t-menu__link-item t758__link-item_active">${partText}</a>
                                </div>
                            </li>`;
                            
                $('.t758__list li:eq(1)').append(arrow);
                
                $('.t758__list').append(crumb1);
                $('.t758__list').append(crumb2);
                

            //Если не содержит подраздел
            }else{
                
                partText = partText.substr(0,1).toUpperCase()+partText.substr(1);
                
                let crumb = `<li class="t758__list_item dop-crumb">
                                <div class="t758__link-item__wrapper">
                                    <a class="t-menu__link-item t758__link-item_active">${partText}</a>
                                </div>
                            </li>`;
                            
                $('.t758__list li:eq(1)').append(arrow);
                
                $('.t758__list').append(crumb);
                  
            };
            
            
            
        
            $('.t978__menu a').each(function(){
                let elem = $(this);
                let linkText = elem.text().toLowerCase();
                
                linkText = linkText.substr(0,1).toUpperCase()+linkText.substr(1);

                if(partText==linkText || mainText==linkText ){
                    elem.addClass('t-active');
                };
            });
            
            
            
            
            
        };
        
        
        
        
    
        
    
    
    

    
};

//При раскрытии основного раздела
document.addEventListener('click', function(e){
    if (e.target.classList.contains("main-chapter")) { 
        e.target.classList.toggle('open-chapter');//переключаем класс раздела
        e.target.nextElementSibling.classList.toggle('show-subsection');//переключаем класс блока с подразделами
    };
});

});
</script>




<style>

.dop-crumb{
    cursor: pointer;
}



.t951 .t-store__parts-switch-btn.t-active {
    font-weight: 600 !important;
}


.t978__menu a {
    cursor: pointer;
}


.subsection {
    display: flex;
    flex-wrap: wrap;
    padding-left: 15px;
    display: none;
}

.subsection.show-subsection{
    display: block;
}


.sub-chapter {
    width: 100%;
}

.main-chapter {
    text-decoration: underline;
    display: flex;
    align-items: center;
}

.js-store-parts-switcher.t-store__parts-switch-btn.sub-chapter {
    font-size: 14px;
    opacity: 0.8;
}

.main-chapter:after {
    content: "";
    background-image: url(https://static.tildacdn.net/tild3837-6431-4465-b265-383663343966/arrow_down_icon_1842.svg);
    width: 20px;
    height: 20px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 8px;
    transition: all 0.3s ease-in-out;
}   
.open-chapter.main-chapter:after {
    transform: rotate(180deg);
}

.t-store__filter__item.t-store__filter__item_select.js-store-filter-item {
    display: none;
}

@media screen and (max-width: 960px){
.js-store-parts-switcher.t-store__parts-switch-btn{
    font-size: 16px;
    font-weight:300;
    display: flex;
    margin-left: 0;
}

.js-store-parts-switcher.t-store__parts-switch-btn.sub-chapter.t-active {
    font-weight: 600;
}

.t-store__parts-switch-wrapper {
    max-height: 200px;
    overflow-y: auto;
}

.t951__sidebar-wrapper ::-webkit-scrollbar-thumb {
        background: #6CA602;
        border-radius: 10px;
}
.t951__sidebar-wrapper ::-webkit-scrollbar {
        width: 5px;
        height: 5px;
        background: #000000;
}


}

</style>
Made on
Tilda