Ajax-фильтры в теме Megashop2
Магазин - витрина - шаблоны.
В файле sidebar-filters.html нужно добавить filters ajax, чтобы получилось вот так:
<div class="c-sidebar-block c-sidebar-filters filters ajax">
В файле user.css нужно добавить в конце следующий код:
.filters label.disabled {
color: #ccc;
}
.filters .c-filter__content .ui-slider-horizontal .ui-slider-handle, .filters .c-filter__content .ui-slider-horizontal .ui-slider-handle.ui-state-focus {
margin-left: 0;
}
.filters .c-filter__content .ui-slider-horizontal .ui-slider-handle, .filters .c-filter__content .ui-slider-horizontal .ui-slider-handle.ui-state-focus {
width: 8px;
}
Далее в настройках плагина (Магазин - Плагины - Фильтры) нужно заменить Шаблон вывода на такой:
<link type="text/css" rel="stylesheet" href="{$wa_url}wa-content/css/jquery-ui/base/jquery.ui.slider.css">
<script>window.jQuery.ui || document.write(unescape('%3Cscript src="{$plugin_url}js/jquery-ui.core.slider.min.js"%3E%3C/script%3E'))</script>
<script>window.jQuery.ui.slider || document.write(unescape('%3Cscript src="{$wa_url}wa-content/js/jquery-ui/jquery.ui.slider.min.js"%3E%3C/script%3E'))</script>
<link type="text/css" rel="stylesheet" href="{$plugin_url}css/filters.css?v{$version}">
<script type="text/javascript">
$.wa = $.wa || {};
$.wa.filters = {$filters_options};
$.wa.filters.slider_disabled = true;
$.wa.filters._search = location.search;
$(function () {
$('.filters').on('click', 'b,i', function () {
if ($(this).closest('p').length > 0) {
$(this).closest('p').toggleClass('collapsed');
} else {
$(this).closest('div').toggleClass('collapsed');
}
});
$('.filters').on('disable.filters', function () {
var fs = '.filters';
if ($.wa.filters && $.wa.filters.features) {
$(fs + ' input:checkbox,' + fs + ' input:radio').each(function () {
var name = $(this).attr('name');
if (name.substring(name.length - 2) == '[]') {
name = name.substring(0, name.length - 2);
if (!$(this).is(':checked')) {
if ($.wa.filters.features[name] && ($.wa.filters.features[name] === true ||
$.inArray(this.value, $.wa.filters.features[name]) != -1)) {
$(this).closest('label.l-label').removeClass('disabled');
} else {
$(this).closest('label.l-label').addClass('disabled');
}
} else if ($.wa.filters.features[name] && ($.wa.filters.features[name] === true ||
$.inArray(this.value, $.wa.filters.features[name]) != -1)) {
$(this).closest('label.l-label').removeClass('disabled');
}
}
});
} else {
$(fs + ' label.l-label.disabled').removeClass('disabled');
}
if (window.megashop && window.megashop.shop && !$.wa.filters._search) {
window.megashop.shop.Products($('.c-products')).refreshProducts()
} else {
$.wa.filters._search = false;
}
});
});
</script>
<script type="text/javascript" src="{$plugin_url}js/filters.min.js?v{$version}"></script>
Чтобы добавить комментарий, зарегистрируйтесь или войдите
0 комментариев