> 백엔드 개발 > PHP 튜토리얼 > SP框架限制分页数字长度_PHP教程

SP框架限制分页数字长度_PHP教程

WBOY
풀어 주다: 2016-07-14 10:07:26
원래의
957명이 탐색했습니다.

在入口文件调用
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 .= ""; 
    } else { 
        $html .= ""; 
    } 
    $offset = $params['offset'] ? $params['offset'] : 200; // 可以在内用offset=x来调整 
 
    foreach ($params['pager']['all_pages'] as $page) { 
        if ($page == $params['pager']['current_page']) { 
            $html .= "{$page}"; 
        } else { 
            if (($params['pager']['current_page']                     ($params['pager']['current_page'] > $params['pager']['last_page'] - $offset && $page > $params['pager']['last_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; 

模板调用方法


控制器内使用:

[php] 
//资讯列表 
    function newslist() { 
        $newsobj = spClass("lib_news"); 
        // 这里使用了spPager,同时用spArgs接受到传入的page参数 
        $this->results = $newsobj->spPager($this->spArgs('page', 1), 12)->findAll(null, 'id DESC'); 
        // 这里获取分页数据并发送到smarty模板内 
        $this->pager = $newsobj->spPager()->getPager(); 
        $this->display("admin/news_list.html"); 
    } 

CSS样式
[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; BORDER-LEFT: #ccc 1px solid; COLOR: #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; MARGIN: 2px; BORDER-LEFT: #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; BORDER-LEFT: #eee 1px solid; COLOR: #ddd; PADDING-TOP: 2px; BORDER-BOTTOM: #eee 1px solid 

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477876.htmlTechArticle在入口文件调用 require(SP_PATH . /SpeedPHP.php); require(APP_PATH . /include/functions.php); spRun(); functions.php [php] spAddViewFunction(pager, __template_pager); functio...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿