%recordcount条记录 每页%pagesize条记录 第%pagenum页/共%pagecount页 %first %prev %next %last %select %list" first="首页" prev="上页" next="下页" last="末页" select="第%pagenum页" list=5}} */ function smarty_function_page($params, &$smarty) { if (!isset($params['values']) && !isset($params['output'])) { $smarty->trigger_error("array: missing 'values' or 'output' parameter"); return; } if($params['values'] == '' || !is_array($params['values'])) { return $params['values']; } return page($params); } function page($a) { //select分页 $ps=""; //数字链接分页 if($a['list']>0) { $pageStart=$a['values'][page]>$a['list']?$a['values'][page]-$a['list']:1; $pageEnd=$a['values'][page]+$a['list']>$a['values'][pagecount]?$a['values'][pagecount]:$a['values'][page]+$a['list']; } else { $pageStart=1; $pageEnd=$a['values'][pagecount]; } for($p=$pageStart;$p<=$pageEnd;$p++){ if($a['values'][page]==$p){$pl=$pl."".$p."";} else{$pl=$pl." ".$p." ";} } //上下页链接分页 if($a['values'][pagecount]>1) { if($a['values'][page]==1) { $pt=array($a['first'],$a['prev'],"".$a['next']."","".$a['last'].""); } elseif($a['values'][page]==$a['values'][pagecount]) { $pt=array("".$a['first']."","".$a['prev']." ",$a['next'],$a['last']); } else { $pt=array("".$a['first']."","".$a['prev']."","".$a['next']."","".$a['last'].""); } } else { $pt=array($a['first'],$a['prev'],$a['next'],$a['last']); } $out=$a['output']; $out=str_replace("%recordcount",$a['values'][recordcount],$out); $out=str_replace("%pagesize",$a['values'][pagesize],$out); $out=str_replace("%pagenum",$a['values'][page],$out); $out=str_replace("%pagecount",$a['values'][pagecount],$out); $out=str_replace("%first",$pt[0],$out); $out=str_replace("%prev",$pt[1],$out); $out=str_replace("%next",$pt[2],$out); $out=str_replace("%last",$pt[3],$out); $out=str_replace("%select",$ps,$out); $out=str_replace("%list",$pl,$out); return $out; } ?>