您现在的位置: 首页 > 建站课堂 > 帝国CMS使用 >

修改帝国cms分页标签[!---show.listpage--]中的分页样式方法

来源: 发布时间:2018-10-06 23:14:44热度:平头哥帝国CMS模板
我们在仿站的时候经常会遇到漂亮的分页样式,往往帝国自带的分页样式标签[!--show.listpage--]不太理想,那怎么才能做到和被仿站点一样好看的样式呢,今天我正好遇到了这个问题。下面我把我的修改过程与方法和大家分享一下!这篇文章没什么技术含量,熟能生巧而已,希望对不知如何修改的朋友有帮助!

先来看看目标样式:


查看目标网站的样式代码如下:

<li class="thisclass">1</li>  <li><a href='list_8_2.html'>2</a></li>  <li><a href='list_8_3.html'>3</a></li> <li><a href='list_8_2.html'>下一页</a></li>

而帝国cms [!--show.listpage--]标签生成的默认分页样式代码如下:

<a title="Total record">&nbsp;<b>16</b> </a> &nbsp;&nbsp;<a href="/anli/shejishi/index.html">首页</a> &nbsp;<a href="/anli/shejishi/index.html">上一页</a> &nbsp;<a href="/anli/shejishi/index.html">1</a> &nbsp;<b>2</b> 

原本调用样式截图如下:

从代码中大家看出问题来没?目标站点加了<li></li> 而帝国默认的只加了<a></a>标签。并且。当前列表是用<b></b>来表示的。
找到问题了。那我们行动吧。
打开\e\class\t_functions.php文件!搜索:sys_ShowListMorePage 大概是 101行!
然后将<a>前面加上<li>,在</a>后面加上</li>
当前栏目是高亮的。但帝国是用<b>标签来表示的。那么。我们需要将b标签改成a标签。并在a标签前和a标签后加上<li>和</li>

修改好的代码如下:

//列表模板之列表式分页
function sys_ShowListMorePage($num,$page,$dolink,$type,$totalpage,$line,$ok,$search="",$add){
    global $fun_r,$public_r;
    if($num<=$line)
    {
        $pager['showpage']='';
        return $pager;
    }
    //文件名
    if(empty($add['dofile']))
    {
        $add['dofile']='index';
    }
    //静态页数
    $repagenum=$add['repagenum'];
    $page_line=$public_r['listpagelistnum'];
    $snum=2;
    //$totalpage=ceil($num/$line);//取得总页数
    //上一页
    if($page<>1)
    {
        $toppage='<li><a href="'.$dolink.$add['dofile'].$type.'">'.$fun_r['startpage'].'</a></li>&nbsp;';
        $pagepr=$page-1;
        if($pagepr==1)
        {
            $prido=$add['dofile'].$type;
        }
        else
        {
            $prido=$add['dofile'].'_'.$pagepr.$type;
        }
        $prepage='<li><a href="'.$dolink.$prido.'">'.$fun_r['pripage'].'</a></li>';
    }
    //下一页
    if($page!=$totalpage)
    {
        $pagenex=$page+1;
        $nextpagelink=$repagenum&&$repagenum<$pagenex?eReturnRewritePageLink2($add,$pagenex):$dolink.$add['dofile'].'_'.$pagenex.$type;
        $lastpagelink=$repagenum&&$repagenum<$totalpage?eReturnRewritePageLink2($add,$totalpage):$dolink.$add['dofile'].'_'.$totalpage.$type;
        $nextpage='&nbsp;<li><a href="'.$nextpagelink.'">'.$fun_r['nextpage'].'</a></li>';
        $lastpage='&nbsp;<li><a href="'.$lastpagelink.'">'.$fun_r['lastpage'].'</a></li>';
    }
    $starti=$page-$snum<1?1:$page-$snum;
    $no=0;
    for($i=$starti;$i<=$totalpage&&$no<$page_line;$i++)
    {
        $no++;
        if($page==$i)
        {
            $is_1="<li class='thisclass'><a>";
            $is_2="</a></li>";
        }
        elseif($i==1)
        {
            $is_1='<li><a href="'.$dolink.$add['dofile'].$type.'">';
            $is_2="</a></li>";
        }
        else
        {
            $thispagelink=$repagenum&&$repagenum<$i?eReturnRewritePageLink2($add,$i):$dolink.$add['dofile'].'_'.$i.$type;
            $is_1='<li><a href="'.$thispagelink.'">';
            $is_2="</a></li>";
        }
        $returnstr.='&nbsp;'.$is_1.$i.$is_2;
    }
    $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
    $pager['showpage']=$returnstr;
    return $pager;
}

修改完后生成页面显示的样式就很漂亮了,希望对大家有帮助,同时防止自己忘记
 

    责任编辑: