%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;
}
?>