SP framework limits pagination number length_PHP tutorial

WBOY
Release: 2016-07-14 10:07:26
Original
903 people have browsed it

在入口文件调用
require(SP_PATH . "/SpeedPHP.php");
require(APP_PATH . '/include/functions.php');
spRun();

functions.php
[php] 
spAddViewFunction('pager', '__template_pager'); 
 
function __template_pager($params) { 
    if (!isset($params['pager']) || emptyempty($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 = "

"; 
    if ($params['pager']['current_page'] != $params['pager']['first_page']) { 
        $url = spUrl($params['c'], $params['a'], $args + array($pagerhandle => $params['pager']['prev_page'])); 
        $html .= "< Prev"; 
    } else { 
        $html .= "< Prev"; 
    } 
    $offset = $params['offset'] ? $params['offset'] : 200; // 可以在<{pager}>内用offset=x来调整 
 
    foreach ($params['pager']['all_pages'] as $page) { 
        if ($page == $params['pager']['current_page']) { 
            $html .= "{$page}"; 
        } 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 .= "{$page}"; 
            } 
        } 
    } 
    if ($params['pager']['current_page'] != $params['pager']['last_page']) { 
        $url = spUrl($params['c'], $params['a'], $args + array($pagerhandle => $params['pager']['next_page'])); 
        $html .= "Next >"; 
    } else { 
        $html .= "Next >"; 
    } 
    $html .= '
';
Return $html;
}

Template calling method
<{pager pager=$pager myclass="num" c="news" a="newslist" offset=5}>


For use within the controller:

[php]
//Information list
Function newslist() {
         $newsobj = spClass("lib_news");
// spPager is used here, and spArgs is used to receive the incoming page parameters
           $this->results = $newsobj->spPager($this->spArgs('page', 1), 12)->findAll(null, 'id DESC');
// Get the paging data here and send it to the smarty template
$this->pager = $newsobj->spPager()->getPager();
            $this->display("admin/news_list.html");
}  

CSS style
[css]
.num {
Clear:both; margin:0 auto; width:500px; padding:15px 0 0 0;
}
.num A {
BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; : #000; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc 1px solid; TEXT-DECORATION: none
}
.num A:hover {
BORDER: #0080C0 1px solid; COLOR: #000;
}
.num A:active {
BORDER: #0080C0 1px solid; COLOR: #000;
}
.num SPAN.current {
BORDER-RIGHT: #0080C0 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #0080C0 1px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: 2px; #0080C0 1px solid; COLOR: #fff; PADDING-TOP: 2px; BORDER-BOTTOM: #0080C0 1px solid; BACKGROUND-COLOR: #0080C0
}
.num SPAN.disabled {
BORDER-RIGHT: #eee 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #eee 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 2px; MARGIN: 2px; : #ddd; PADDING-TOP: 2px; BORDER-BOTTOM: #eee 1px solid
}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/477876.htmlTechArticleCall require(SP_PATH . /SpeedPHP.php); require(APP_PATH . /include/functions.php in the entry file ); spRun(); functions.php [php] spAddViewFunction(pager, __template_pager); functio...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!