1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| #macro(pagination $showNum $url $currentPage $totalPage )
#if($showNum > $totalPage) #set($showNum = $totalPage) #end #if($currentPage > $totalPage) #set($currentPage = $totalPage) #end
#set( $nextPage = $currentPage + 1 ) #set( $prePage = $currentPage - 1 ) #if($nextPage > $totalPage) #set($nextPage = $totalPage ) #end #if($prePage <= 0) #set($prePage = 1) #end
#set($firstPage = 1)
<ul class="pagination"> <li><a href="#SLITERAL($url)1">first</a></li> #if( $currentPage <= 1 ) <li><a href="javascript:void(0);"> < </a></li> #else <li><a href="#SLITERAL($url)$prePage"> < </a></li> #end
## 1 #if( $showNum >= $totalPage - 2 ) #foreach($i in [1 .. $totalPage]) <li #if($i == $currentPage) class="active" #end ><a href="#SLITERAL($url)$i"> $i </a></li> #end
## 2 #elseif( $currentPage >= $totalPage - 2 - $showNum + 1) #set($min = $totalPage - 2 - $showNum + 1 ) #foreach($i in [$min .. $totalPage]) <li #if($i == $currentPage) class="active" #end ><a href="#SLITERAL($url)$i"> $i </a></li> #end #else #set($max = $currentPage + $showNum - 1 ) #foreach($i in [$currentPage .. $max]) <li #if($i == $currentPage) class="active" #end ><a href="#SLITERAL($url)$i"> $i </a></li> #end <li><a href="javascript:void(0);"> ... </a></li> <li><a href="#SLITERAL($url)$totalPage">$totalPage</a></li> #end
#if( $currentPage + 1 > $totalPage ) <li><a href="javascript:void(0);"> > </a></li> #else <li><a href="#SLITERAL($url)$nextPage"> > </a></li> #end <li><a href="#SLITERAL($url)$totalPage">last</a></li> </ul> #end
|