Постраничное листаниеПоддерживается в <dynamic> Постраничное листание можно реализовать разными способами. Вот пример с использованием оператора <dynamic>
В итоге должно получиться вот так: <dynamic>
{{Выводим сами новости}} <set onpage=10> <foreach name=x path="<#_id#>.$" sort="-_publish_time" limit="<print <var[cgi:page]>*<var[onpage]>>,<var[onpage]>"> <div><a href="<foreach[x]._url>"><foreach[x]._name></a> <p><foreach[x].anounce></p> </div> </foreach> {{ *** Постраничное листание *** }} {{Получаем общее кол-во документов}} <foreach path="<#_id#>.*" name=r></foreach> {{Если документов больше, чем на одну страницу - показываем листалку }} <if <foreach[r]._total> gt <var[onpage]>> {{ Пишем общее кол-во документов в переменную}} <set docs=<foreach[r]._total>> {{Сколько страниц показывать до сокращения}} <set listpages=7> <div class="near"> {{ Если это не первая страница }} <if <var[cgi:page]> != 0> <a href="?page=<print <var[cgi:page]>-1>">« предыдущие</a> <span class="sep">|</span> </if> {{ Если это не последняя страница }} <if <var[cgi:page]> != <var[docs]> div <var[onpage]>> <a href="?page=<print <var[cgi:page]>+1>">следующие »</a> </if> </div> <loop i=0 to (<var[docs]> div <var[onpage]>) step="1"> <if <loop[i]>==0 || <loop[i]>==(<var[docs]> div <var[onpage]>) || ((<loop[i]> gt (<var[cgi:page]>-<var[listpages]>)) && (<loop[i]> lt (<var[cgi:page]>+<var[listpages]>)))> <set p = <loop[i]>> <if <var[cgi:page]> == <var[p]>> <span><print <var[p]> + 1></span> <else> <a href="?page=<var[p]>"><print <var[p]> + 1></a> </if> <else> <if <loop[i]>==1 || <loop[i]>==(<var[docs]> div <var[onpage]>) - 2>. . . </if> </if> </loop> </if> </dynamic> |
![]() |
Поиск по документации![]() |