zoukankan      html  css  js  c++  java
  • 嗨分享-前端技术-帝国CMS手机站修改列表分页(sysShowListMorePage)

    http://bbs.phome.net/showthread-31-318753-0.html

    如果你的网站使用的是帝国CMS。PC站和手机站各使用一个模板组,但共同使用一个数据库。那么你的PC站和手机站,列表分页样式是一样的吗?


    今天<a href="http://www.thy6415.com">嗨分享-前端技术</a>将带你感受不一样的分页样式!

    PC站可以把分页按1、2、3、4。。。这样并排 列出来,但手机站是万万不可以这样做的,否则手机屏幕小,分页看着都好长,一点都不美观。

    帝国CMS的PC站可以使用[!--show.listpage--]调用列表形式的列表分页函数(sys_ShowListMorePage)。

    一旦PC站使用[!--show.listpage--],那么手机站也将使用[!--show.listpage--]调用列表形式的列表分页函数(sys_ShowListMorePage)。--因为他们使用的是同一个数据库。

    而通常的手机站应该调用下拉形式的列表分页函数(sys_ShowListPage)


    这样目标已经很明显了。手机站同PC站一样使用列表形式的列表分页函数(sys_ShowListMorePage),只需要将手机站的sys_ShowListMorePage函数主体内容,改成下拉形式的列表分页函数(sys_ShowListPage)的主体内容。只不过函数名称没有变而已。


    在手机站的e/class/t_function.php文件中修改以下内容:

    一、找到并复制sys_ShowListPage函数主体内容。

    复制function sys_ShowListPage(到结束的}之间的内容。

    二、粘贴给sys_ShowListMorePage函数,再进行修改,让适用帝国CMS手机站,这里给出我最终的修改版:


    //列表模板之列表式分页 
    function sys_ShowListMorePage($num,$pagenum,$dolink,$dotype,$page,$lencord,$ok,$search="",$add){ 
        global $fun_r; 
        //文件名 
        if(empty($add['dofile'])) 
        { 
            $add['dofile']='index'; 
        } 
        //静态页数 
        $repagenum=$add['repagenum']; 
        //首页 
        if($pagenum<>1) 
        { 
            $pagetop="<a href='".$dolink.$add['dofile'].$dotype."'>".$fun_r['startpage']."</a>&nbsp;&nbsp;"; 
        } 
        else 
        { 
            $pagetop=$fun_r['startpage']."&nbsp;&nbsp;"; 
        } 
        //上一页 
        if($pagenum<>1) 
        { 
            $pagepr=$pagenum-1; 
            if($pagepr==1) 
            { 
                $prido=$add['dofile'].$dotype; 
            } 
            else 
            { 
                $prido=$add['dofile'].'_'.$pagepr.$dotype; 
            } 
            $pagepri="<a href='".$prido."'>".$fun_r['pripage']."</a>&nbsp;&nbsp;"; 
        } 
        else 
        { 
            $pagepri=$fun_r['pripage']."&nbsp;&nbsp;"; 
        } 
        echo $dolink; 
        //下一页 
        if($pagenum<>$page) 
        { 
            $pagenex=$pagenum+1; 
            $nextpagelink=$repagenum&&$repagenum<$pagenex?eReturnRewritePageLink2($add,$pagenex):$add['dofile'].'_'.$pagenex.$dotype; 
            $pagenext="<a href='".$nextpagelink."'>".$fun_r['nextpage']."</a>&nbsp;&nbsp;"; 
        } 
        else 
        { 
            $pagenext=$fun_r['nextpage']."&nbsp;&nbsp;"; 
        } 
        //尾页 
        if($pagenum==$page) 
        { 
            $pageeof=$fun_r['lastpage']; 
        } 
        else 
        { 
            $lastpagelink=$repagenum&&$repagenum<$page?eReturnRewritePageLink2($add,$page):$dolink.$add['dofile'].'_'.$page.$dotype; 
            $pageeof="<a href='".$lastpagelink."'>".$fun_r['lastpage']."</a>"; 
        } 
        $options=""; 
        //取得下拉页码 
        if(empty($search)) 
        { 
            for($go=1;$go<=$page;$go++) 
            { 
                if($go==1) 
                {$file=$add['dofile'].$dotype;} 
                else 
                {$file=$add['dofile'].'_'.$go.$dotype;} 
                $thispagelink=$repagenum&&$repagenum<$go?eReturnRewritePageLink2($add,$go):$file; 
                if($ok==$go) 
                {$select=" selected";} 
                else 
                {$select="";} 
                $myoptions.="<option value='".$thispagelink."'>".$fun_r['gotos'].$go.$fun_r['gotol']."</option>"; 
                $options.="<option value='".$thispagelink."'".$select.">".$fun_r['gotos'].$go.$fun_r['gotol']."</option>"; 
            } 
        } 
        else 
        { 
            $myoptions=$search; 
            $options=str_replace("value='".$add['dofile'].'_'.$ok.$dotype."'>","value='".$add['dofile']."_".$ok.$dotype."' selected>",$search); 
        } 
        $options="<select name=select onchange="self.location.href=this.options[this.selectedIndex].value">".$options."</select>"; 
        //分页 
        //thy -- $pagelink=$pagetop.$pagepri.$pagenext.$pageeof; -- 将上一页和下一页拆分开: 
        $pagepri=$pagepri; 
        $pagenext=$pagenext; 
        //替换模板变量 
        //thy -- $pager['showpage']=ReturnListpageStr($pagenum,$page,$lencord,$num,$pagelink,$options);  
        //-- 返回到function.php中的ReturnListpageStr()函数,在ReturnListpageStr()函数中添加'页次'、'总页数'、'总条数'等。 
        //-- 在手机站中不需要这些,所以不用返回 
        $pager['showpage']='<div class="pageList">'.$pagepri.$options.$pagenext.'</div>'; 
        $pager['option']=$myoptions; 
        return $pager; 
    }




    一些注释:

    手机站上分页只需要“上一页”、“下一页”、“下拉分页”。同时将“上一页”、“下一页”分开,按“上一页”、“下拉分页”、“下一页”的顺序排列。
    $dolink获取的是当前栏目的地址。如:http://www.thy6415.com/moban/。但手机站应该是http://www.thy6415.com/wap/moban/或m.thy6415.com/moban/。所以要把$dolink去掉。地址直接使用index_*.html

  • 相关阅读:
    Shell 中 -n 条件判断的使用
    Linux shell 中(()) [] [[ ]] 的使用
    Linux 利用黑洞实现“取消在控制台输出日志”
    Hadoop DataNode 多目录磁盘扩展配置
    Linux 挂载硬盘
    css 对元素在文档中的排列的影响
    vue-route 基础
    javaScript 琐碎
    javaScript 事件流---冒泡 && 捕获
    页面优化---利用浏览器缓存
  • 原文地址:https://www.cnblogs.com/walter371/p/4675085.html
Copyright © 2011-2022 走看看