本文章總結(jié)了很多種不同的關(guān)于emlog修改分頁(yè)樣式(分頁(yè)函數(shù))方法,下面我來給各位整理一下,有需要自行修改emlog分頁(yè)樣式的同學(xué)可參考參考.
方法一:不修改內(nèi)核實(shí)現(xiàn)emlog分頁(yè)的上頁(yè)、下頁(yè)效果.
1、先在你使用的模板的module.php文件中增加自定義的分頁(yè)函數(shù),代碼如下:
- <?php
- //blog:自定義分頁(yè)函數(shù)
- function my_page($count, $perlogs, $page, $url, $anchor = '') {
- $pnums = @ceil($count / $perlogs);
- $re = '';
- $urlHome = preg_replace("|[?&/][^./?&=]*page[=/-]|", "", $url);
- if($page > 1) {
- $i = $page - 1;
- $re = " <a href="".$url.$i."">上頁(yè)</a> " . $re;
- }
- if($page < $pnums) {
- $i = $page + 1;
- $re .= " <a href="".$url.$i."">下頁(yè)</a> ";
- }
- return $re;
- }
- ?>
2、在調(diào)用分頁(yè)的地方(一般是log_list.php)文件加入下列代碼:
- <?php
- $page_loglist = my_page($lognum, $index_lognum, $page, $pageurl);
- echo $page_loglist;
- ?>
3、若碎語(yǔ)頁(yè)面也要調(diào)用修改過的分頁(yè)樣式,則在t.php文件中加入下列代碼:
- <?php
- $page_t = my_page($twnum, Option::get('index_twnum'), $page, BLOG_URL.'t/?page=');
- echo $page_t;
- ?>
方法二,修改emlog分頁(yè)函數(shù)
找到基礎(chǔ)函數(shù)庫(kù)function.base.php(位于emlog根目錄/include/lib文件夾下)中的分頁(yè)函數(shù),大概在function.base.php的220~250行(前提是你的function.base.php是原版文件).
將源程序的“分頁(yè)函數(shù)”替換為如下代碼:
- /**
- * 分頁(yè)函數(shù)
- *
- * @param int $count 條目總數(shù)
- * @param int $perlogs 每頁(yè)顯示條數(shù)目
- * @param int $page 當(dāng)前頁(yè)碼
- * @param string $url 頁(yè)碼的地址
- */
- function pagination($count,$perlogs,$page,$url,$anchor=''){
- $pnums = @ceil($count / $perlogs);
- $page = @min($pnums,$page);
- $prepg=$page-1; //上一頁(yè)
- $nextpg=($page==$pnums ? 0 : $page+1); //下一頁(yè)
- $urlHome = preg_replace("|[?&/][^./?&=]*page[=/-]|","",$url);
- #開始分頁(yè)導(dǎo)航內(nèi)容
- $re = "";
- if($pnums<=1) return false; //如果只有一頁(yè)則跳出
- if($page!=1) $re .=" <a href="$urlHome$anchor">首頁(yè)</a> ";
- if($prepg) $re .=" <a href="$url$prepg$anchor">前頁(yè)</a> ";
- for ($i = $page-5;$i <= $page+5 && $i <= $pnums; $i++){
- if ($i > 0){
- if ($i == $page){
- $re .= " <span>$i</span> ";
- } elseif($i == 1) {
- $re .= " <a href="$urlHome$anchor">$i</a> ";
- } else {
- $re .= " <a href="$url$i$anchor">$i</a> ";
- }
- }
- }
- if($nextpg) $re .=" <a href="$url$nextpg$anchor">后頁(yè)</a> ";
- if($page!=$pnums) $re.=" <a href="$url$pnums$anchor">尾頁(yè)</a>"; //開源軟件:Vevb.com
- #下拉跳轉(zhuǎn)列表,循環(huán)列出所有頁(yè)碼
- $re .=" 跳轉(zhuǎn)到第 <select name='topage' size='1'
- onchange='window.location="$url"+this.value'>n";
- for($i=1;$i<=$pnums;$i++){
- if($i==$page) $re .="<option value='$i' selected>$i</option>n";
- else $re .="<option value='$i'>$i</option>n";
- }
- $re .="</select> 頁(yè),共 $pnums 頁(yè)";
- return $re;
- }
還有如果不要下拉式跳轉(zhuǎn)的換,刪掉以下代碼就可以了:
- #下拉跳轉(zhuǎn)列表,循環(huán)列出所有頁(yè)碼
- $re .=" 跳轉(zhuǎn)到第 <select name='topage' size='1'
- onchange='window.location="$url"+this.value'>n";
- for($i=1;$i<=$pnums;$i++){
- if($i==$page) $re .="<option value='$i' selected>$i</option>n";
- else $re .="<option value='$i'>$i</option>n";
- }
- $re .="</select> 頁(yè),共 $pnums 頁(yè)";
當(dāng)然你如果還要顯示共幾頁(yè),刪掉上面代碼后再在return $re;之前加上如下代碼即可:
$re .="共 $pnums 頁(yè)";
如果不要下拉式跳轉(zhuǎn)的換,刪掉以下代碼就可以了.
- #下拉跳轉(zhuǎn)列表,循環(huán)列出所有頁(yè)碼
- $re .=" 跳轉(zhuǎn)到第 <select name='topage' size='1' onchange='window.location="$url"+this.value'>n";
- for($i=1;$i<=$pnums;$i++){
- if($i==$page) $re .="<option value='$i' selected>$i</option>n";
- else $re .="<option value='$i'>$i</option>n";
- }
- $re .="頁(yè),共 $pnums 頁(yè)";
當(dāng)然你如果還要共幾頁(yè),這個(gè)顯示的話,上面刪掉的最后一行不要?jiǎng)h除而且需要修改如下:
$re .="共 $pnums 頁(yè)";
新聞熱點(diǎn)
疑難解答