Добавляем кнопку сброса настроек фильтра в модуле многоуровневой навигации
Еще одна полезная правка для блока многоуровневой навигации. В модуле к сожалению до сих пор не предусмотрели одновременный сброс всех настроек фильтра. Если было назначено сразу много параметров фильтрации, но результаты поиска не удовлетворили, то придется либо отменять их по одному, либо заново открывать страницу что займет дополнительное время, что неудобно для клиента. Чтобы упростить ему поиск товаров давайте введем дополнительную кнопку сброса назначенных настроек фильтра.
Для этого откроем файл шаблона фильтра /themes/текущий шаблон/modules/blocklayered/blocklayered.tpl и добавим в его конец функцию отмены всех назначенных фильтров.
Было:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{if $nbr_filterBlocks != 0} {strip} {if version_compare($smarty.const._PS_VERSION_,'1.5','>')} {addJsDef param_product_url='#'|cat:$param_product_url} {else} {addJsDef param_product_url=''} {/if} {addJsDef blocklayeredSliderName=$blocklayeredSliderName} {if isset($filters) && $filters|@count} {addJsDef filters=$filters} {/if} {/strip} {/if} |
Стало:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
{if $nbr_filterBlocks != 0} {strip} {if version_compare($smarty.const._PS_VERSION_,'1.5','>')} {addJsDef param_product_url='#'|cat:$param_product_url} {else} {addJsDef param_product_url=''} {/if} {addJsDef blocklayeredSliderName=$blocklayeredSliderName} {if isset($filters) && $filters|@count} {addJsDef filters=$filters} {/if} <script type="text/javascript"> function uncheckAll() { var checkboxes = new Array(); checkboxes = document.forms['layered_form'].getElementsByTagName('input'); for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].type === 'checkbox') { checkboxes[i].checked = false; } } } </script> {/strip} {/if} |
Также добавим код кнопки сброса
|
1 |
<input type="button" name="Reset_button" value="{l s='Uncheck all' mod='blocklayered'}" onclick="uncheckAll()"> |
в это место кода перед закрывающим тэгом </ul>:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
{if isset($selected_filters) && $n_filters > 0} <div id="enabled_filters"> <span class="layered_subtitle" style="float: none;"> {l s='Enabled filters:' mod='blocklayered'} </span> <ul> . . . </ul> </div> {/if} |
Теперь мы можем сбросить все назначенные фильтры одним нажатием на кнопку:

P.S. Перевод названия кнопки можно сделать в админке магазина: «Локализация» — «Переводы» — «Переводы установленных модулей» — «Блок многоуровневой навигации».

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