Как убрать блок с фильтром mFilter2, если нет объектов для фильтрации
Здравствуйте! Использую для реализации каталога и фильтрации miniShop2 + mFilter2. Не во всех категориях каталога у меня есть товары, только на конечных, но сниппет фильтра привязан к шаблону категории. В результате там, где есть товары фильтр отображается нормально, а там где нет товаров появляются сообщения«Нечего фильтровать» и «Подходящих результатов не найдено.» Можно ли как-то грамотно отключить работу mFilter2 на тех страницах, где товаров нет.
Вот на всякий случай то, как вывожу фильтр:
Чанк categoryFilterOuterTpl
Спасибо!
Вот на всякий случай то, как вывожу фильтр:
[[!mFilter2?
&class=`msProduct`
&element=`msProducts`
&parents=`[[*id]]`
&depth=`0`
&tpls=`productTpl`
&tplOuter=`categoryFilterOuterTpl`
&filters=`
msoption|poroda:default,
msoption|coating:default,
msoption|sort:default
`]]
Чанк categoryFilterOuterTpl
<div class="row msearch2" id="mse2_mfilter">
<div class="span3 col-md-3">
<div class="filter-block">
<form action="[[~[[*id]]]]" method="post" id="mse2_filters">
[[+filters]]
[[+filters:isnot=``:then=`
<div class="filter-reset">
<button type="reset" class="btn btn-default hidden">[[%mse2_reset]]</button>
<div class="clearfix"></div>
</div>
`]]
</form>
</div>
</div>
<div class="span9 col-md-9">
<!-- <h3 class="filter-total">[[%mse2_filter_total]] <span id="mse2_total">[[+total:default=`0`]]</span></h3> -->
<div id="mse2_selected_wrapper">
<div id="mse2_selected">[[%mse2_selected]]:
<span></span>
</div>
</div>
<div id="mse2_results" class="row">
[[+results]]
</div>
<div class="article-content"></div>
<div class="mse2_pagination text-center">
[[!+page.nav]]
</div>
</div>
</div>
Спасибо!
Комментарии: 3
{if $filters != 'тут ошибка, когда нет фильтров, т.е. сюда надо Нечего фильтровать '}
{$filters}
// тут начинка, если фильтры есть: кнопки всякие, элементы верстки блока
{/if}
Спасибо! Я уже попробовал скрывать все лишнее классом hidden:
[[+filters:is=`Нечего фильтровать`:then=`hidden`]]
Чем-то похоже на Ваше решение.
подскажите почему данное условие может не работать?
текст Нечего фильтровать и сортировка по цене — появляется в категориях где нет товара
текст Нечего фильтровать и сортировка по цене — появляется в категориях где нет товара
<div class="msearch2" id="mse2_mfilter">
{if $filters != 'пусто'}
<div class="row">
<div class="col-md-7">
<form action="{$_modx->resource.id | url}" method="post" id="mse2_filters" class="form-filter">
<div class="blocks">
{$filters}
</div>
</form>
</div>
<div class="col-md-5">
<div class="blocks">
<div class="block ml-a">
<label for="sort">Сортировать по:</label>
<select class="selectpicker pull-right" name="sort" id="mse2_sort">
<option class="sort" data-sort="ms|price" value="asc">возрастанию цены</option>
<option class="sort" data-sort="ms|price" value="desc">убыванию цены</option>
</select>
</div>
</div>
</div>
</div>
{/if}
{*
<div id="mse2_sort">
{'mse2_sort' | lexicon}
<a href="#" data-sort="resource|publishedon"
data-dir="{if $sort == 'resource|publishedon:desc'}desc{/if}" data-default="desc" class="sort">
{'mse2_sort_publishedon' | lexicon} <span></span>
</a>
</div>
*}
<div class="row">
<div id="mse2_results" class="col-md-12 row tovars pr-0">
{$results}
</div>
<div class="mse2_pagination col-md-12">
{'page.nav' | placeholder}
</div>
</div>
</div>
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.