@ -1,4 +1,34 @@ |
||||
/* Стили для планшетов */ |
||||
@media only screen and (max-width: 992px) { |
||||
@media (min-width: 769px) and (max-width: 1200px) { |
||||
.footer__wrapper { |
||||
width: 100%!important; |
||||
display: flex; |
||||
flex-direction: column; |
||||
} |
||||
.footer-bottom { |
||||
flex-direction: column; |
||||
} |
||||
.footer-content__wrap { |
||||
flex-direction: column; |
||||
} |
||||
.footer-content__wrap { |
||||
display: flex; |
||||
align-items: flex-start; |
||||
justify-content: space-between; |
||||
gap: 20px; |
||||
width: 100%; |
||||
} |
||||
} |
||||
|
||||
|
||||
@media(max-width:768px){ |
||||
.footer-top { |
||||
flex-direction: column; |
||||
} |
||||
.footer-bottom { |
||||
flex-direction: column; |
||||
} |
||||
.footer-content__wrap { |
||||
flex-direction: column; |
||||
} |
||||
} |
@ -1,157 +0,0 @@ |
||||
{% set bodyClass = 'bg-white' %} |
||||
{% set mainClass = 'wrapper' %} |
||||
{% extends 'layout.twig' %} |
||||
|
||||
{% block content %} |
||||
|
||||
{% if site_region == 'ru' %} |
||||
<style> |
||||
.product-item-overlay__price::after{ |
||||
content: '₽'; |
||||
} |
||||
</style> |
||||
{% endif %} |
||||
|
||||
<div class="breadcrumbs"> |
||||
<a href="/" class="breadcrumbs__item"> |
||||
{{ function('pll_e', 'Главная') }} |
||||
</a> |
||||
<a href="/shop" class="breadcrumbs__item"> |
||||
{{ function('pll_e', 'Продукция') }} |
||||
</a> |
||||
{% if category %} |
||||
<a href="{{ category_link }}" class="breadcrumbs__item"> |
||||
{{ category_title }} |
||||
</a> |
||||
{% endif %} |
||||
</div> |
||||
|
||||
<div class="product"> |
||||
<div class="product__header"> |
||||
<h1 class="product__title"> |
||||
{% if category %} |
||||
{{ category.name }} |
||||
{% else %} |
||||
{{ function('pll_e', 'Продукция') }} |
||||
{% endif %} |
||||
</h1> |
||||
|
||||
<button class="button button--gradient button--high button--icon button--filter"> |
||||
{{ function('pll_e', 'Фильтры') }} |
||||
</button> |
||||
</div> |
||||
|
||||
{% if active_filters|length > 0 %} |
||||
<div class="active-filters"> |
||||
{% if active_filters is not empty %} |
||||
<div class="active-filters"> |
||||
{% for filter in active_filters %} |
||||
<span class="active-filter-tag" data-filter-id="{{ filter.id }}" data-filter-slug="{{ filter.slug }}" data-filter-taxonomy="{{ filter.taxonomy }}"> |
||||
{{ filter.name }} × |
||||
</span> |
||||
{% endfor %} |
||||
</div> |
||||
{% endif %} |
||||
|
||||
<button class="active-filters__clear button button--white"> |
||||
{{ function('pll_e', 'Очистить все') }} |
||||
</button> |
||||
</div> |
||||
{% endif %} |
||||
|
||||
<div class="product__main"> |
||||
{% for post in posts %} |
||||
{% include 'archive-product/archive-product-tease.twig' with {post: post} %} |
||||
{% endfor %} |
||||
</div> |
||||
|
||||
<div class="product__footer product__footer--error"> |
||||
{% if posts_per_page < count %} |
||||
<button class="button button--white" id="load-more-products" data-category_id="{{ category_id }}" data-category_type="{{ category_type }}"> |
||||
{{ function('pll_e', 'Загрузить еще') }} |
||||
</button> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
|
||||
<script> |
||||
document.addEventListener("DOMContentLoaded", () => { |
||||
const filterButtons = document.querySelectorAll('.product-tagitem'); |
||||
|
||||
filterButtons.forEach(button => { |
||||
button.addEventListener('click', () => { |
||||
const slug = button.dataset.slug; |
||||
const taxonomy = button.dataset.taxonomy; |
||||
|
||||
const param = 'wpf_filter_' + taxonomy; |
||||
const url = new URL(window.location.href); |
||||
const params = new URLSearchParams(url.search); |
||||
|
||||
if (params.has(param)) { |
||||
let values = params.get(param).split(','); |
||||
values = values.filter(v => v !== slug); |
||||
|
||||
if (values.length > 0) { |
||||
params.set(param, values.join(',')); |
||||
} else { |
||||
params.delete(param); |
||||
} |
||||
|
||||
url.search = params.toString(); |
||||
window.location.href = url.toString(); |
||||
} |
||||
}); |
||||
}); |
||||
|
||||
// Обработка клика на отдельные теги активных фильтров |
||||
const activeFilterTags = document.querySelectorAll('.active-filter-tag'); |
||||
activeFilterTags.forEach(tag => { |
||||
tag.addEventListener('click', () => { |
||||
const slug = tag.dataset.filterSlug; |
||||
const taxonomy = tag.dataset.filterTaxonomy; |
||||
|
||||
// Убираем префикс pa_ если есть для формирования параметра URL |
||||
const rawTaxonomy = taxonomy.replace('pa_', ''); |
||||
const param = 'wpf_filter_' + rawTaxonomy; |
||||
|
||||
const url = new URL(window.location.href); |
||||
const params = new URLSearchParams(url.search); |
||||
|
||||
if (params.has(param)) { |
||||
let values = params.get(param).split(','); |
||||
values = values.filter(v => v !== slug); |
||||
|
||||
if (values.length > 0) { |
||||
params.set(param, values.join(',')); |
||||
} else { |
||||
params.delete(param); |
||||
} |
||||
} |
||||
|
||||
url.search = params.toString(); |
||||
window.location.href = url.toString(); |
||||
}); |
||||
}); |
||||
|
||||
// Обработка кнопки "Очистить все" |
||||
const clearAllBtn = document.querySelector('.active-filters__clear'); |
||||
if (clearAllBtn) { |
||||
clearAllBtn.addEventListener('click', () => { |
||||
const url = new URL(window.location.href); |
||||
const params = new URLSearchParams(url.search); |
||||
|
||||
for (const key of Array.from(params.keys())) { |
||||
if (key.startsWith('wpf_')) { |
||||
params.delete(key); |
||||
} |
||||
} |
||||
|
||||
url.search = params.toString(); |
||||
window.location.href = url.toString(); |
||||
}); |
||||
} |
||||
}); |
||||
</script> |
||||
|
||||
|
||||
{% endblock %} |
Loading…
Reference in new issue