Хотите знать как динамически изменить количество выводимых елементов на странице? Решение этой проблемы достаточно простое. Для этого добавим в наш документ ссылку, по которой мы будем изменять количество выводимых элементов.
Код вывода ссылок
<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.
Вот такая нехитрая конструкция помогает динамически вывести произвольное количество элементов на сайте.