Сниппет для вывода блока с настройков сортировки и выбора количества товаров на странице.
Сниппет для формирования блока сортировки. Из приятных вещей.
ownerTpl - Основная обертка блока.
Плейсхолдеры [+class+] [+display.block+] [+sort.block+] [+sort.direction+]
.
Пример: <div class="[+class+]">[+display.block+][+sort.block+]</div>
displayOwnerTpl - обертка блока для выбора количества елементов на странице.
Плейсхолдеры: [+class+]">[+wrapper+]
Пример: <select class="[+class+]">[+wrapper+]</select>
Пример: <div class="[+class+]">[+wrapper+]</div>
displayRowTpl - Шаблон вывода строки. ( option для селекта или тег a для блока).
Плейсхолдеры: [+value+],[+selected+],[+data+],[+class+],[+caption+]
Пример: <option value="[+value+]" [+selected+] >[+caption+]</option>
Пример: <a [+data+] class="[+class+]">[+caption+]</a>
sortOwnerTpl - обертка блока для выбора поля по которому елементы сортируються на странице.
Плейсхолдеры: [+wrapper+]
Пример: <ul>[+wrapper+]</ul>
sortRowTpl - Шаблон вывода ссылки для выбора поля.
Плейсхолдеры: [+class+],[+data+] [+caption+]
Пример: <a class="[+class+]" [+data+]>[+caption+]</a>
[+up+][+down+]
up - сортировка asc
down - сортировка desc[+class+][+data+]
class - css клас
data - Дата атрибут data-value в котором хранится текущее поле а направление сортировки asc. Пример price:asc[+class+][+data+]
class - css клас
data - Дата атрибут data-value в котором хранится текущее поле а направление сортировки asc. Пример price:desc<div id="eFiltr_results_wrapper">
<div class="eFiltr_loader"></div>
<div id="eFiltr_results">
</div>
</div>
Обрабатывается клик по елементу из класом set-display-field. Если это тег a ( ссылка ) и событие click то информация про количество берется из дата атрибута. Если это событие change информация берется из атрибута value елмента option. Дале ajax запрос из параметром sortDisplay и значением. Если ajax отклчен то обновление страницы.
Обрабатывается клик по елементу из класом set-sort-field. Если это тег a ( ссылка ) и событие click то информация про поле и направление берется из дата атрибута. Если это событие change информация берется из атрибута value елмента option. Дале ajax запрос из параметром sortBy и значением. Если ajax отклчен то обновление страницы.
[!evoSortBlock?
&ownerTpl=`<div class="sorting-block__filters [+class+]"><form action="#">[+display.block+][+sort.block+]</form></div>`
&displayOwnerTpl=`<div class="sorting-block__filters-amount"><span class="sorting-block__filters-label">Показывать:</span><div class="sorting-block__select"><div class="inline-select"><select class="decor-select js-select[+class+]">[+wrapper+]</select></div></div></div>`
&sortOwnerTpl=`<div class="sorting-block__filters-type"><span class="sorting-block__filters-label sorting-block__filters-label--type">Сортировать:</span><div class="sorting-block__filters-block"><span class="sorting-block__filters-mobile-active"><span class="sorting-block__filters-mobile-active-inner">По популярности</span></span><ul class="sorting-block__filters-list">[+wrapper+]</ul></div></div>`
&sortRowTpl=`<li class="sorting-block__filters-item"><a href="/en/04_extras/efilter/04_snippet_evosortblock.html#" [+data+] [+selected+] class="sorting-block__filters-link [+class+]">[+caption+]</a></li>`
&sortActiveClass=`is-active`
&sortConfig=`Название==pagetitle||Дата поступления==menuindex||Цена==price`
&ajax=`1`
!]