帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流[原创]嗨分享-前端技术-帝国CMS手机站修改列表分页(sysShowListMorePage) 【本版专题贴子】  
 1/3     1 2 3 ›› ›|
主题:[原创]嗨分享-前端技术-帝国CMS手机站修改列表分页(sysShowListMorePage) [加入收藏夹]   

thy6415
用户头衔:书生

精华贴   :0
发贴数   :4
经验值   :20
注册时间:2014-03-03
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[原创]嗨分享-前端技术-帝国CMS手机站修改列表分页(sysShowListMorePage)
如果你的网站使用的是帝国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(emptyempty($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(emptyempty($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

最后还是看下我做过的一个手机站的列表分页整体效果如何:




<a href="http://www.thy6415.com">嗨分享-前端技术</a>
欢迎大家来围观:http://www.thy6415.com/moban/empire/4.html

[该贴被修改 2 次,最后修改时间 2014-07-25 22:32:06 ]



2014-07-25 22:28:23 已设置保密 顶部 回复 引用 报告 编辑 删除

thy6415
用户头衔:书生

精华贴   :0
发贴数   :4
经验值   :20
注册时间:2014-03-03
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

自己占一楼




2014-07-25 22:31:02 已设置保密 顶部 回复 引用 报告 编辑 删除

luoto
用户头衔:探花

精华贴   :0
发贴数   :5908
经验值   :17776
注册时间:2008-11-08
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

收藏




2014-07-26 08:24:57 已设置保密 顶部 回复 引用 报告 编辑 删除

点到为止
用户头衔:探花

精华贴   :0
发贴数   :6704
经验值   :20958
注册时间:2008-01-07
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

支持一下




2014-07-28 08:08:49 已设置保密 顶部 回复 引用 报告 编辑 删除

549945839
用户头衔:秀才

精华贴   :0
发贴数   :40
经验值   :302
注册时间:2011-04-04
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

我想把网站的内容页也改成这种分页方式 不知道怎么做




2014-07-28 08:16:17 已设置保密 顶部 回复 引用 报告 编辑 删除

帝国时代3
用户头衔:探花

精华贴   :0
发贴数   :3462
经验值   :10602
注册时间:2008-03-26
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

不错,支持一下




2014-07-29 08:17:51 已设置保密 顶部 回复 引用 报告 编辑 删除

非同小可
用户头衔:举人

精华贴   :0
发贴数   :409
经验值   :1218
注册时间:2008-08-04
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

记号




2014-07-30 08:26:17 已设置保密 顶部 回复 引用 报告 编辑 删除

lifemei
用户头衔:进士

精华贴   :0
发贴数   :144
经验值   :2203
注册时间:2007-08-12
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

你最终版本也含有 $dolink  不是最终版本,我直接复制你的,出错了
Fatal error: Cannot redeclare sys_ShowListMorePage() (previously declared in /home/ftp/3/XXX/wwwroot/e/class/t_functions.php:10) in /home/ftp/3/XXXX/wwwroot/e/class/t_functions.php on line 175




2014-07-30 18:34:17 已设置保密 顶部 回复 引用 报告 编辑 删除

bj114
用户头衔:探花

精华贴   :0
发贴数   :2807
经验值   :7816
注册时间:2012-04-09
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

楼上提示函数重复了




2014-07-31 01:04:35 已设置保密 顶部 回复 引用 报告 编辑 删除

棒棒冰
用户头衔:进士

精华贴   :0
发贴数   :1495
经验值   :4437
注册时间:2011-05-06
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

支持楼主




2014-08-01 10:13:13 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/3     1 2 3 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1