ホームページ  >  記事  >  バックエンド開発  >  SP フレームワークのページネーション数の長さの制限_PHP チュートリアル

SP フレームワークのページネーション数の長さの制限_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:07:26924ブラウズ

在入口文件调用
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 .= '
'; $html を返します。 }

テンプレート呼び出しメソッド

<{pager pager=$pager myclass="num" c="ニュース" a="ニュースリスト" offset=5}>


コントローラー内で使用する場合:


[php]

//情報リスト

関数ニュースリスト() {
$newsobj = spClass("lib_news"); // ここでは spPager が使用され、受信ページパラメータを受け取るために spArgs が使用されます
$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]
.nu​​m {
クリア:両方; マージン:0 自動; パディング:15px 0 0 0; }
.nu​​m A {

ボーダー右: #ccc 1px ソリッド; ボーダートップ: #ccc 1px; パディング-ボトム: 2px;ボーダーボトム: #ccc 1px ソリッド; テキスト装飾: なし

}
.nu​​m A:ホバー {
ボーダー: #0080C0 1px カラー: #000; }
.nu​​m A:アクティブ {
ボーダー: #0080C0 1px カラー: #000; }
.nu​​m SPAN.current {
ボーダー右: #0080C0 ソリッド; パディング右: #0080C0 ソリッド; フォントの重み: 2 ピクセル; fff; パディングトップ: 2px; ボーダーボトム: #0080C0 背景色: #0080C0
}
.nu​​m SPAN.disabled {
ボーダー右: #eee 1px ソリッド; ボーダートップ: #eee 1px ソリッド; パディング-トップ: 2px; #eee 1px ソリッド
}






http://www.bkjia.com/PHPjc/477876.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/477876.html

技術記事エントリファイルで require(SP_PATH . /SpeedPHP.php); require(APP_PATH . /include/functions.php); function.php [php] spAddViewFunction(pager, __template_pager); を呼び出します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。