嗨分享-前端技术-帝国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> ";
}
else
{
$pagetop=$fun_r['startpage']." ";
}
//上一页
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> ";
}
else
{
$pagepri=$fun_r['pripage']." ";
}
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> ";
}
else
{
$pagenext=$fun_r['nextpage']." ";
}
//尾页
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)的更多相关文章
- 帝国cms建站总结-(分页)
帝国cms分页代码文件t_functions.php 代码为: <?php if(!defined('InEmpireCMS')) { exit(); } define('InEmpireCMS ...
- 帝国cms 7.5版列表页分页样式修改笔记
最近在用帝国改版我的个人博客站点,这个也是我第一次尝试用帝国来做博客,之前用过wordpress,每用一个新的程序,都会有些新的收获,也会学到一些新的东西. 在改用帝国之前,我也在网上大概了解了一下, ...
- 微信的分享功能(针对web手机站页面进行的分享功能)
把这段js粘贴进,设置可以分享的页面,当微信打开,即可微信进行分享各个圈 $(function(){ var lujing=$("#logimg").attr("src& ...
- 帝国cms建站-动态获取栏目id
<?php $fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]); $topbclassid=$fcr[1]?$fcr[1 ...
- 帝国cms 灵动标签【列表页】调用当前父栏目下的所有子栏目
<? $bclassid = $class_r[$GLOBALS[navclassid]][bclassid]; //获取当前父栏目ID ?> [e:loop={"select ...
- Dedecms手机站三种不同建设方法和优劣分析
dedecms简单易用功能强大,是国内使用最多的cms建站系统,百度站长平台专门推出了“织梦移动化指南”,由此可见dedecms的影响力.织梦也是站长使用和学习最早的cms建站系统,解放了我的双手,让 ...
- 帝国cms栏目别名如何调用?
我们在用帝国cms建站时经常会发现栏目的标题不好设置,栏目名称太长的话在后台那边看了眼花,太短又不好优化.能不能直接调用栏目别名呢?栏目别名不会什么影响.那么,帝国cms栏目别名怎么调用呢?和ytka ...
- 帝国cms如何调用栏目别名作为分类标题?[!--classname--]标签不能用
用帝国cms建站安全性和生成速度会比dedecms好些,但ecms有个比较不方便的地方就是后台默认模板栏目那边没有一个seo标题设置的输入框,列表模板用的是[!--pagetitle--]标签,那么分 ...
- 帝国cms调用缩略图和具体文章的方法
我们在用帝国cms建站的时候经常会在首页或者分类页等调用一些文章,如果文章带有展示图也把图片调用出来.帝国cms调用缩略图和具体文章怎么操作呢?我们用帝国cms的灵动标签[e:loop],只要记住常用 ...
随机推荐
- KVM: 安装Windows virtio半虚拟化驱动
Install KVM Windows virtio para-virtualized dirver If you can't read Chinese, there's an English ver ...
- .Net字符串驻留池
在.Net中,对于相同的字符串,.Net会将它们指向同一个地址,它们是相同的实例..Net中的字符串并不会更新,当更改一个字符串变量时,由于字符串的不可变性,.Net实际上是新创建一个字符串,而将变量 ...
- Arch Linux 安装记录
Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...
- java实现 swing模仿金山打字 案例源码
java实现 swing模仿金山打字 案例源码,更多Java技术就去Java教程网.http://java.662p.com 代码: <font size="3">im ...
- 移植u-boot-1.1.6之NOR的支持
u-boot-1.1.6里面默认配置文件里面支持的nor型号是 #if 0 #define CONFIG_AMD_LV400 1 /* uncomment this if you have a LV4 ...
- 常用的MyEclipse快捷键
在调试程序的时候,我们经常需要注释一些代码,在用Myeclipse编程时,就可以用 Ctrl+/ 为选中的一段代码加上以 // 打头的注释:当需要恢复代码功能的时候,又可以用Ctrl+/ 去掉注释.这 ...
- 2_JavaScript日期格式化
第二章 JavaScript 时间格式化 2.1 Ticks 转换为常规日期 2.2 常规日期格式化 <input type="button" value=&qu ...
- IIS 7.5 配置Asp+Access的几点注意的地方
环境:window2008 R2 + iis 7.51 把网站程序放在一个www文件夹里面,给这个文件夹添加everyone的用户,赋予全部读写权限,这样安全些.2 选中要配置的网站,点击页面中间“A ...
- 在Windows下Mysql如何重置root用户密码
原文链接:http://www.feeldesignstudio.com/2013/05/windows-mysql-root-password-reset 网上的很多在Windows下重置root用 ...
- scala学习笔记2
一.算术和操作符重载 a + b 是如下方法的简写: a.+(b) 在scala中你可以使用任何符号来为方法命名.比如BigInt类就定义了一个/%的方法,该方法返回一个对偶,对偶的内容是除法操作得到 ...