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. ubuntu 更新重启后 登录后 无法进入图形界面

    切换到控制台然后看看-/.Xauthority的组属性是否正确,如果被改成root组了,就会造成不能登陆,你将其删除就ok了

  2. 解决jQuery插件重名问题

    jQuery第三方插件命名冲突: 1.以某种方法为自己创建的jQuery插件添加命名空间,以免名称冲突.比如:在自己的插件名之前添加某类名称前缀. 2.避免影响全局命名空间.将自己的所有函数调用和变量 ...

  3. swat主流域文件(file.cio)参数详解——引自http://blog.sciencenet.cn/blog-922140-710636.html

    % file.clo,即主流域文件用于文件管理,包括与模型选项.气候输入.数据库和输出控制相关的信息. Master Watershed File: file.cio Project Descript ...

  4. hdu1171

    use fmax().-------TLE #define mmax(a,b) (a)>(b)?(a):(b);   ---796ms that's it! #include <stdio ...

  5. Chrome 使用技巧

    阅读目录 写在前面 快速切换文件 在源代码中搜索 在源代码中快速跳转到指定的行 使用多个插入符进行选择 设备模式 设备传感仿真 格式化凌乱的js源码 颜色选择器 改变颜色格式 强制改变元素状态(方便查 ...

  6. MyBatis学习系列一之环境搭建

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入.MyBat ...

  7. ADO.NET中的Command详解

    Command方法介绍 1.ExecuteNonQuery 对于Update.Insert.Delete执行并返回受影响行数 对于其他语句返回 -1 2.ExecuteScalar 执行查询.并返回结 ...

  8. Ajax的利弊

    ajax的优点  1.最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好. 2.使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力. 3.可以把以前一些服务器负担的工 ...

  9. 360提供的SQL防注入

    <?php class sqlsafe { private $getfilter = "'|(and|or)\\b.+?(>|<|=|in|like)|\\/\\*.+?\ ...

  10. web app 开发

    去除手机浏览器标签默认高亮边框 -webkit-tap-highlight-color 属性 属性描述:这个属性可以指设置透明度.如果未设置透明度,iOS上的Safari会给予颜色一个默认的透明度.把 ...