{% extends 'application/layout.html.twig' %}
{% block content %}
<main class="main">
<div class="breadcrumb">
<div class="container">
<ol class="breadcrumb__list">
<li class="breadcrumb__item"><a href="{{ path('home') }}" class="breadcrumb__link">Главная</a></li>
<li class="breadcrumb__item active" aria-current="page">Сравнение товаров</li>
</ol>
</div>
</div>
<div class="page">
<div class="container">
{% if products|length %}
<div class="page__header">
<h1 class="page__title">Сравнение товаров</h1>
</div>
<div class="tabs">
<div class="tabs__header tabs__header--short">
<ul class="tabs__nav" id="chooseShop" role="tablist">
<li class="tabs__item active" role="presentation">
<button class="tabs__link" data-tab="tab">Все</button>
</li>
{% for categoryId, list in productsByCategory %}
{% if categoryId %}
<li class="tabs__item" role="presentation">
<button class="tabs__link" data-tab="tab{{ categoryId }}">{{ categories[categoryId].name(app.request.locale) }}: {{ list|length }}</button>
</li>
{% endif %}
{% endfor %}
</ul>
</div>
<div class="tabs__content">
{% for categoryId, list in productsByCategory %}
<div class="tabs__pane {% if loop.index == 1 %}show{% endif %}" id="tab{{ categoryId }}">
{{ include('application/compare/product-list.html.twig', {products: list, categoryId: categoryId, differentColor: differentColor[categoryId]}) }}
</div>
{% endfor %}
</div>
</div>
{% else %}
Товары не выбраны
{% endif %}
</div>
</div>
</main>
{% endblock %}
{% block scripts %}
<script>
$('.show-difference').change(function () {
let parent = $(this).closest('.comparison');
if ($(this).is(':checked')) {
parent.find('.comparison__group').hide();
parent.find('.different').show();
} else {
parent.find('.comparison__group').show();
}
});
/*-------------------------------------------------------------------------------
Comparison
-------------------------------------------------------------------------------*/
const compareItems = document.querySelectorAll('.comparison');
const swiperParams = {
slidesPerView: 'auto',
watchSlidesProgress: true,
freeMode: true,
speed: 1000,
breakpoints: {
768: {
slidesPerView: '2',
freeMode: true,
},
992: {
slidesPerView: '3',
freeMode: false,
},
1200: {
slidesPerView: '4',
freeMode: false,
watchSlidesProgress: true,
}
},
};
compareItems.forEach(compareItem => {
const compareItemMain = compareItem.querySelector('.a-carousel-comparison');
const compareItemData = compareItem.querySelectorAll('.a-carousel-comparison-data');
const comparePrev = compareItem.querySelector('.btn-prev');
const compareNext = compareItem.querySelector('.btn-next');
const swiperComparisonData = [];
compareItemData.forEach(item => {
swiperComparisonData.push(new Swiper(item, swiperParams));
})
const swiperComparison = new Swiper(compareItemMain, {
slidesPerView: 'auto',
watchSlidesProgress: true,
freeMode: true,
speed: 1000,
navigation: {
prevEl: comparePrev,
nextEl: compareNext,
},
breakpoints: {
768: {
slidesPerView: '2',
freeMode: true,
},
992: {
slidesPerView: '3',
freeMode: false,
},
1200: {
slidesPerView: '4',
freeMode: false,
watchSlidesProgress: true,
}
},
});
swiperComparison.controller.control = swiperComparisonData;
});
</script>
{% endblock %}