Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
RUnner 25.08.2002 21:11
возникла задача: сделать функцию в которую можно передать url, количество страниц всего, текущую страницу, количество блоков информаци (например сообщений) на странице, количество циферок подрят в навигаторе, дополнителный текст который будел засунут в тэг <a>.@generatenav[navstr;maxnum;current;onpage;onnav;style][delim;startnum;endnum;pagenum;onnav] ^if($maxnum>$onpage){ ^if($current<0){ $current(0) } ^if($current>$maxnum){ $current($maxnum) } ^if(^navstr.match[\?][g]){ $delim[&] }{ $delim[?] } ^if(^math:floor($current/$onpage)>=$onnav){ $startnum(^math:floor($current/$onpage)) $startnum(^math:trunc($startnum/$onnav)*$onnav) }{ $startnum(0) } ^if((($startnum+$onnav)*$onpage)<$maxnum){ $endnum($startnum+$onnav-1) }{ ^if(^math:frac($maxnum/$onpage)==0){ $endnum($maxnum/$onpage-1) }{ $endnum(^math:floor($maxnum/$onpage)) } } ^if($startnum>=$onnav){ <a href=^"${navstr}${delim}s=^eval(($startnum-1)*$onpage)^" $style>назад</a> ^; } ^for[pagenum]($startnum;$endnum){ <a href=^"${navstr}${delim}s=^eval($pagenum*$onpage)^" $style>^if(($pagenum*$onpage)==$current){<b>$pagenum</b>}{$pagenum}</a> }[ ^;] ^if((($endnum+1)*$onpage)<$maxnum){  ^;<a href=^"${navstr}${delim}s=^eval(($endnum+1)*$onpage)^" $style>далее</a> } } #end of @generatenav[$navstr;$maxnum;$current]