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>

Опубликовано: 5 апреля 2020
Эта статья была полезна? Да Нет

0 комментариев

    Добавить комментарий

    Чтобы добавить комментарий, зарегистрируйтесь или войдите