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

嗨分享-前端技术-帝国CMS手机站修改列表分页(sysShowListMorePage)的更多相关文章

  1. 帝国cms建站总结-(分页)

    帝国cms分页代码文件t_functions.php 代码为: <?php if(!defined('InEmpireCMS')) { exit(); } define('InEmpireCMS ...

  2. 帝国cms 7.5版列表页分页样式修改笔记

    最近在用帝国改版我的个人博客站点,这个也是我第一次尝试用帝国来做博客,之前用过wordpress,每用一个新的程序,都会有些新的收获,也会学到一些新的东西. 在改用帝国之前,我也在网上大概了解了一下, ...

  3. 微信的分享功能(针对web手机站页面进行的分享功能)

    把这段js粘贴进,设置可以分享的页面,当微信打开,即可微信进行分享各个圈 $(function(){ var lujing=$("#logimg").attr("src& ...

  4. 帝国cms建站-动态获取栏目id

    <?php $fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]); $topbclassid=$fcr[1]?$fcr[1 ...

  5. 帝国cms 灵动标签【列表页】调用当前父栏目下的所有子栏目

    <? $bclassid = $class_r[$GLOBALS[navclassid]][bclassid]; //获取当前父栏目ID ?> [e:loop={"select ...

  6. Dedecms手机站三种不同建设方法和优劣分析

    dedecms简单易用功能强大,是国内使用最多的cms建站系统,百度站长平台专门推出了“织梦移动化指南”,由此可见dedecms的影响力.织梦也是站长使用和学习最早的cms建站系统,解放了我的双手,让 ...

  7. 帝国cms栏目别名如何调用?

    我们在用帝国cms建站时经常会发现栏目的标题不好设置,栏目名称太长的话在后台那边看了眼花,太短又不好优化.能不能直接调用栏目别名呢?栏目别名不会什么影响.那么,帝国cms栏目别名怎么调用呢?和ytka ...

  8. 帝国cms如何调用栏目别名作为分类标题?[!--classname--]标签不能用

    用帝国cms建站安全性和生成速度会比dedecms好些,但ecms有个比较不方便的地方就是后台默认模板栏目那边没有一个seo标题设置的输入框,列表模板用的是[!--pagetitle--]标签,那么分 ...

  9. 帝国cms调用缩略图和具体文章的方法

    我们在用帝国cms建站的时候经常会在首页或者分类页等调用一些文章,如果文章带有展示图也把图片调用出来.帝国cms调用缩略图和具体文章怎么操作呢?我们用帝国cms的灵动标签[e:loop],只要记住常用 ...

随机推荐

  1. jQuery datepicker

    <script type="text/javascript" src="/assets/datepicker/jquery-ui-1.9.1.min.js" ...

  2. 洛谷P1465

    P1465 序言页码 Preface Numbering 74通过 111提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 一类书 ...

  3. vc不用IDE编译方法

    一个EXE是如何形成的 比如一个源程序有以下两个文件. 1.c 1.rc 首先cl.exe 会把源代码编译为1.obj rc.exe会把1.rc编译为1.res link.exe会把1.obj 1.r ...

  4. SQO (标准查询运算符)方法 & Linq To Object

    #region SQO (标准查询运算符) 方法 #region Where() Find() FindAll() FirstOrDefault()等方法 static void c01where() ...

  5. Ossim主要功能实战

    Ossim主要功能实战 OSSIM通过将开源产品进行集成,从而提供一种能够实现安全监控功能的基础平台将Nagiso,Ntop,Snort,Nmap等开源工具集成在一起提供综合的安全保护功能,而不必在各 ...

  6. MacOSX和Windows 8的完美融合

    MacOSX和Windows8的完美融合 一般情况下我们要在MACOS系统下运行Windows软件怎么办呢?一种方法我们可以装CrossOver这款软件,然后在configuration->in ...

  7. BG雪碧图制作要求

    使用软件 firework 保存png-8 然后参数如下图: 格式:PNG 8 调色板:最适合 深度:128 透明度:Alpha 透明度

  8. Eclipse Egit 安装

    help->Install new software-> 在 work within 中输入以下网址 安装地址: http://download.eclipse.org/egit/upda ...

  9. Heavily reliance on forensic tools is risky

    We could take advantage of forensic tools to examine and analyze the evidence, but heavily reliance ...

  10. Windows Server 2008 R2 配置Exchange 2010邮件服务器

    windows server 服务器系统搭建邮件服务器一般两种情况: 1:Winmail server 软件 2:Exchange 参考教程:http://www.cnblogs.com/zhongw ...