Динамический вывод разного количества товаров на странице

Хотите знать как динамически изменить количество выводимых елементов на странице? Решение этой проблемы достаточно простое. Для этого добавим в наш документ ссылку, по которой мы будем изменять количество выводимых элементов.

Код вывода ссылок

<a href="[(#ENV{pagination}|?{#SELF|replace{pagination=\d+?,pagination=20}, #SELF&pagination=20})]" title="Измененить количество выводимых товаров" rel="nofollow">20</a>

В качестве url-адреса для ссылки сгенерируется адрес нашей страницы с измененным количеством выводимых елементов (ключ pagination).
Алгоритм работы совсем не сложный: вначале мы смотрим задан ли ключ pagination в адресной строке. Если все хорошо, и ключ присутствует - то мы заменяем его значение на нужное;
если же его там нет - мы просто дописываем его в конец текущего адреса. Стоит заметить, что для замены мы используем регулярное выражение, которое ищет пару pagination=X, где Х - любая числовая последовательность.

Чтобы вывод наших елементов работал правильно, необходимо немного изменить цикл вывода елементов.
Для постраничного вывода элементов существует критерий pagination X, где X - количество выводимых элементов.
В нашем случае количество выводимых елементов мы явно задать не можем, потому что его нельзя изменитьдинамически.

Изменяем наш критерий следующим образом:

{pagination #ENV{pagination}|?{#ENV{pagination}, 20} }

Вначале проверяем присутствует ли ключ pagination в строке адреса и в случае его отсутствия мы выводим количество элементов по-умолчанию, в текущем примере - 20.

Вот такая нехитрая конструкция помогает динамически вывести произвольное количество элементов на сайте.

наверх