コード:
コードをコピー コードは次のとおりです:
/**
* 中央のものをスライド式の固定長定規として扱います
*
* $this->_totalShowPages をスライド式の固定長定規として扱います
* $this->_totalPages は指定された長さになります 木のブロック、定規はこの
* 木製ブロックの上をスライドします。 2 つの状況があります:
* 1. 定規の長さが木のブロックの長さより大きい場合、すべてのページ番号が直接出力されます
* 2. 定規の長さが木製ブロックの長さより小さい場合。木のブロックを作成したら、定規の長さのページの番号を出力する開始点を見つけるだけです
* ——$start, $end;
* @Access protected
* @Return void
* @Exception none
*/
protected function _getShowPageNumber()
{
$pageHtml = '';
//$start を見つけますpoint
if ( $this->_curPage - 2 > 1) {
$start = $this->_curPage - 2;
} else {
$start = 1;
}
//$end ポイントを見つける
$end = $start + $this->_totalShowPages;
if($end >= $this->_totalPages) {
$end = $this->_totalPages;
$start = $end - $this- >_totalShowPages; // 表示されるページの長さが $this->_totalShowPages
}
if($start != 1) {
$pageHtml .= $this->_getPageHtml(1);
$ preMore = $this-> _curpage-$ this- & gt;
if ($ premore & lt; 1) {
$ payhtml. );
}
for ($ page = $start; $page < $end; $page ++) {
$pageHtml .= $this->_getPageHtml($page);
}
if($end ! = $this->_totalPages) {
$pageHtml .= $this->_getMorePageHtml($end);
}
$pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
return $pageHtml;
}
最初の古いアイデアのコード実装:
コードをコピーします
コードは次のとおりです:
/**
* ステップバイステップ
*
* @desc
*
* @Access protected
*/
protected function _getShowPageNumberTwo()
{
if($this->_curPage < $this->_totalShowPages) {
for($page = 1; $page < $ this->_totalShowPages; $page ++) {
$pageHtml .= $this->_getPageHtml($page);
}
$pageHtml .= $this->_getMorePageHtml($this->_totalShowPages);
$pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
} else {
$pageHtml .= $this->_getNormalPageHtml(1);
if($this->_curPage == $this->_totalShowPages) {
$pageHtml .= $this->_getMorePageHtml(1);
} else {
$pageHtml .= $this->_getMorePageHtml($this->_curPage - $this-> ;_totalShowPages);
}
if($this->_curPage + $this->_totalShowPages >= $this->_totalPages) {
for($page = $this->_totalPages - $this-> ;_totalShowPages; $page < = $this->_totalPages; $page ++) {
$pageHtml .= $this->_getPageHtml($page);
}
} else {
>_curPage - 2;
$end = $this->_curPage + $this->_totalShowPages - 2;
for($page = $start; $ページ $pageHtml .= $this->_getPageHtml($page);
}
$pageHtml .= $this->_getMorePageHtml($this->_curPage + $this->_totalShowPages - 2);
$pageHtml .= $this->_getNormalPageHtml($this->_totalPages);
}
}
return $pageHtml;
}
http://www.bkjia.com/PHPjc/676867.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/676867.html技術記事代コード: 复制代コード 代コードは次のようになります: /** * ハンドル中はスライド可能な固定長さの尺子になります * * $this-_totalShowPages はスライド可能な固定長さの尺子になります、...