//放在入口文件,调用,include 'fy.php';
spAddViewFunction('pager', '__template_pager');
function __template_pager($params) {
if (!isset($params['pager']) || empty($params['pager']))
return '';
$args = array();
foreach ($params as $k => $v)
if (!in_array($k, array('c', 'a', 'pager', 'myclass', 'mypage', 'offset')))
$args[$k] = $v;
$pagerhandle = isset($params['pager']['mypage']) ? $params['pager']['mypage'] : 'page';
$html = "<div class=\"{$params['myclass']}\">";
if ($params['pager']['current_page'] != $params['pager']['first_page']) {
$url = spUrl($params['c'], $params['a'], $args + array($pagerhandle => $params['pager']['prev_page']));
$html .= "<a href=\"{$url}\">< Prev</a>";
} else {
$html .= "<span class=\"disabled\">< Prev</span>";
}
$offset = $params['offset'] ? $params['offset'] : 200; // 可以在<{pager}>内用offset=x来调整
foreach ($params['pager']['all_pages'] as $page) {
if ($page == $params['pager']['current_page']) {
$html .= "<span class=\"current\">{$page}</span>";
} else {
if (($params['pager']['current_page'] < $offset && $page < $offset ) ||
($params['pager']['current_page'] > $params['pager']['last_page'] - $offset && $page > $params['pager']['last_page'] - $offset ) ||
( $page < $params['pager']['current_page'] + $offset && $page > $params['pager']['current_page'] - $offset )
) {
$url = spUrl($params['c'], $params['a'], $args + array($pagerhandle => $page));
$html .= "<a href=\"$url\">{$page}</a>";
}
}
}
if ($params['pager']['current_page'] != $params['pager']['last_page']) {
$url = spUrl($params['c'], $params['a'], $args + array($pagerhandle => $params['pager']['next_page']));
$html .= "<a href=\"$url\">Next ></a>";
} else {
$html .= "<span class=\"disabled\">Next ></span>";
}
$html .= '</div>';
return $html;
}
模板里面调用:
<{foreach from=$results item=one}>
中间略
<{/foreach}>
显示分页数字
<{pager pager=$pager myclass="num" c="news" a="newslist" offset=5}>