От куда берутся значения {$filter.max_price} и {$filter.min_price} ? Из основной категории (из которой seo фильтр сделан)? У меня отображаются из основной категории.
Из-за этого не работает фильтр внутри seo категории. {$filter.max_price} == ценнику родительской категории. При попытке фильтрации не правильно формируется URL. Пример -
https://xn--b1agjqvi.xn--p1ai/category/lyustry/?istochnik_sveta%5B%5D=1070&price_max=null&price_min=1&tsvet_svetilnika_%5B%5D=4
где price_max=null - ломает фильтрацию (в категории максимальная цена больше цены в seo категории).
Тема speed99
Фильтр:
{strip} {$show_active_filters = ''} {if !empty($filters)} {capture active_filters} {foreach $filters as $fid => $filter} {if !($fid == 'price') && !($filter.type == 'boolean') && !(isset($filter.min))} {foreach $filter.values as $v_id => $v} {if in_array($v_id, (array)$wa->get($filter.code, array()))} {$show_active_filters = true} <div class="uk-grid-margin"> <a href="#" class="uk-button uk-button-default uk-button-small theme-buttons-border-radius" data-name="{$filter.code}[]" data-value="{$v_id}" data-uk-tooltip="container:.active-filters-wrapper;title:[`Remove`] {$filter.name|lower} {strip_tags($v)}" style="text-transform:none;"> <i class="mr-5"> <svg width="1em" height="1em" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="close" style="margin-top:-3px;"><path fill="none" stroke="currentColor" stroke-width="1.06" d="M16,16 L4,4"></path><path fill="none" stroke="currentColor" stroke-width="1.06" d="M16,4 L4,16"></path></svg> </i> {*strip_tags($v)*} {$filter_url = shopSeofilterViewHelper::getFilterUrl($filter.id, $v_id, $filter.code)} {if $filter_url} <a class="filter-link" href="{$filter_url}">{$v}</a> {else} {strip_tags($v)} {/if} </a> </div> {/if} {/foreach} {/if} {/foreach} <div class="uk-grid-margin"> {if isset($category)} {$reset_url = $wa->shop->categoryUrl($category)} {else} {$reset_url = $wa->currentUrl(0,1)} {/if} <a href="{$reset_url}" class="uk-button uk-button-danger uk-button-small theme-buttons-border-radius reset" data-uk-tooltip="container:.active-filters-wrapper;title:[`Clear all filters`]"> <i class="mr-5"> <svg width="1em" height="1em" style="margin-top:-3px;" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" data-svg="ban"><circle fill="none" stroke="currentColor" stroke-width="1.1" cx="10" cy="10" r="9"></circle><line fill="none" stroke="currentColor" stroke-width="1.1" x1="4" y1="3.5" x2="16" y2="16.5"></line></svg> </i> [`Reset`] </a> </div> <script> $('.active-filters a').not('.active-filters .reset').each(function() { $(this).on('click', function() { var data_name = $(this).data('name'); var data_value = $(this).data('value'); $('.filters').find('input[name="'+ data_name +'"][value="'+ data_value +'"]').trigger('click'); return false; }); }); {* $('.active-filters .reset').on('click', function() { $('.filters input').prop( "checked", false ); $('.filters input[type=submit]').click(); return false; }); *} </script> {/capture} {if !empty($show_active_filters)} <!-- START lt-filters-active.html --> <div class="active-filters-wrapper {if empty($remove_container)}uk-container {/if}{if empty($remove_margin)}uk-margin-medium-top {/if}"> <div class="uk-grid uk-grid-small uk-grid-margined active-filters filters-active-html"> {$smarty.capture.active_filters} </div> </div> {/if} {/if} <!-- END lt-filters-active.html --> {/strip}