帝国CMS文章列表页分页样式修改美化教程
时间:2022年07月10日
/来源:网络
/编辑:佚名
帝国CMS 列表页分页样式修改美化教程
问题:
帝国CMS模板变量[!--show.listpage--]和[!--show.page--]有系统默认的分页样式,而我们在实际使用过程中需要对样式进行自定义设置,以满足自己的实际需求。
方案:
1、如果分页结构满足需求而样式不满足,直接在css文件中修改样式即可,优点是不用改动帝国cms的程序文件;
2、结构和样式都不满足需求,可以自己动手去修改帝国cms的分页文件(php+css),帝国的分页在e>class>下的t_functions.php这个文件里。
3、也是我个人测试后比较提倡的方法,当结构和样式都不满足需求时,不改变帝国cms原有的程序文件,采用新建标签的方式实现,具体步骤如下:
第一步:进入帝国cms后台,点击系统设置->系统参数设置->信息设置:里面有个"列表分页函数(列表)"选项,将里面的函数名修改为user_ShowListMorePage。
第二部:到 e/class/userfun.php <?php ?> 之间插入下面代码
function user_ShowListMorePage($num,$page,$dolink,$type,$totalpage,
$line,$ok,$search=""){
global $fun_r,$public_r;
if($num<=$line)
{
$pager['showpage']='';
return $pager;
}
$page_line=$public_r['listpagelistnum'];
$snum=2;
//上一页
if($page<>1)
{
$toppage='<a href="'.$dolink.'index'.$type.'" class="disabled">'.$fun_r['startpage'].'</a>'; //首页
$pagepr=$page-1;
if($pagepr==1)
{
$prido="index".$type;
}
else
{
$prido="index_".$pagepr.$type;
}
$prepage='<a href="'.$dolink.$prido.'" class="disabled">'.$fun_r['pripage'].'</a>'; //上一页
}
//下一页
if($page!=$totalpage)
{
$pagenex=$page+1;
$nextpage='<a href="'.$dolink.'index_'.$pagenex.$type.'" class="disabled">'.$fun_r['nextpage'].'</a>'; //下一页
$lastpage='<a href="'.$dolink.'index_'.$totalpage.$type.'" class="disabled">'.$fun_r['lastpage'].'</a>'; //最后一页
}
$starti=$page-$snum<1?1:$page-$snum;
$no=0;
for($i=$starti;$i<=$totalpage&&$no<$page_line;$i++) //详细页码信息
{
$no++;
if($page==$i)
{
$is_1="<a class='cur'>"; //当前
$is_2="</a>";
}
elseif($i==1)
{
$is_1='<a href="'.$dolink.'index'.$type.'">'; //第一页
$is_2="</a>";
}
else
{
$is_1='<a href="'.$dolink.'index_'.$i.$type.'">'; //其他页
$is_2="</a>";
}
$returnstr.=$is_1.$i.$is_2;
}
$returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
$pager['showpage']=$returnstr;
return $pager;
}
第三步:在你的列表页模板中对应位置添加分页变量[!--show.listpage--]就可以了(变量外包裹div)。
效果:
我自己博客网站美化后的分页样式如下:
html结构如下:
<div class="page-box">
<a class='cur'>1</a>
<a href="https://www.78moban.com/web/empire/index_2.html">2</a>
<a href="https://www.78moban.com/web/empire/index_3.html">3</a>
<a href="https://www.78moban.com/web/empire/index_2.html" class="disabled">下一页</a>
<a href="https://www.78moban.com/web/empire/index_3.html" class="disabled">尾页</a>
</div>
CSS样式如下:
.page-box {text-align: center;}
.page-box a {display: inline-block;margin-right: 5px;width: 2rem;height: 2rem;line-height: 2rem;color: #707070;border: 1px solid #ddd;border-radius: 3px;}
.page-box a:hover,.page-box a:active {background: #008e69;color: #fff;}
.page-box .cur {background: #008e69;border: 1px solid #008e69;color: #fff;}
.page-box .disabled {width: 5rem;}
教程到此结束,希望对您有所帮助。
问题:
帝国CMS模板变量[!--show.listpage--]和[!--show.page--]有系统默认的分页样式,而我们在实际使用过程中需要对样式进行自定义设置,以满足自己的实际需求。
方案:
1、如果分页结构满足需求而样式不满足,直接在css文件中修改样式即可,优点是不用改动帝国cms的程序文件;
2、结构和样式都不满足需求,可以自己动手去修改帝国cms的分页文件(php+css),帝国的分页在e>class>下的t_functions.php这个文件里。
3、也是我个人测试后比较提倡的方法,当结构和样式都不满足需求时,不改变帝国cms原有的程序文件,采用新建标签的方式实现,具体步骤如下:
第一步:进入帝国cms后台,点击系统设置->系统参数设置->信息设置:里面有个"列表分页函数(列表)"选项,将里面的函数名修改为user_ShowListMorePage。
第二部:到 e/class/userfun.php <?php ?> 之间插入下面代码
function user_ShowListMorePage($num,$page,$dolink,$type,$totalpage,
$line,$ok,$search=""){
global $fun_r,$public_r;
if($num<=$line)
{
$pager['showpage']='';
return $pager;
}
$page_line=$public_r['listpagelistnum'];
$snum=2;
//上一页
if($page<>1)
{
$toppage='<a href="'.$dolink.'index'.$type.'" class="disabled">'.$fun_r['startpage'].'</a>'; //首页
$pagepr=$page-1;
if($pagepr==1)
{
$prido="index".$type;
}
else
{
$prido="index_".$pagepr.$type;
}
$prepage='<a href="'.$dolink.$prido.'" class="disabled">'.$fun_r['pripage'].'</a>'; //上一页
}
//下一页
if($page!=$totalpage)
{
$pagenex=$page+1;
$nextpage='<a href="'.$dolink.'index_'.$pagenex.$type.'" class="disabled">'.$fun_r['nextpage'].'</a>'; //下一页
$lastpage='<a href="'.$dolink.'index_'.$totalpage.$type.'" class="disabled">'.$fun_r['lastpage'].'</a>'; //最后一页
}
$starti=$page-$snum<1?1:$page-$snum;
$no=0;
for($i=$starti;$i<=$totalpage&&$no<$page_line;$i++) //详细页码信息
{
$no++;
if($page==$i)
{
$is_1="<a class='cur'>"; //当前
$is_2="</a>";
}
elseif($i==1)
{
$is_1='<a href="'.$dolink.'index'.$type.'">'; //第一页
$is_2="</a>";
}
else
{
$is_1='<a href="'.$dolink.'index_'.$i.$type.'">'; //其他页
$is_2="</a>";
}
$returnstr.=$is_1.$i.$is_2;
}
$returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
$pager['showpage']=$returnstr;
return $pager;
}
第三步:在你的列表页模板中对应位置添加分页变量[!--show.listpage--]就可以了(变量外包裹div)。
效果:
我自己博客网站美化后的分页样式如下:
html结构如下:
<div class="page-box">
<a class='cur'>1</a>
<a href="https://www.78moban.com/web/empire/index_2.html">2</a>
<a href="https://www.78moban.com/web/empire/index_3.html">3</a>
<a href="https://www.78moban.com/web/empire/index_2.html" class="disabled">下一页</a>
<a href="https://www.78moban.com/web/empire/index_3.html" class="disabled">尾页</a>
</div>
CSS样式如下:
.page-box {text-align: center;}
.page-box a {display: inline-block;margin-right: 5px;width: 2rem;height: 2rem;line-height: 2rem;color: #707070;border: 1px solid #ddd;border-radius: 3px;}
.page-box a:hover,.page-box a:active {background: #008e69;color: #fff;}
.page-box .cur {background: #008e69;border: 1px solid #008e69;color: #fff;}
.page-box .disabled {width: 5rem;}
教程到此结束,希望对您有所帮助。
新闻资讯 更多
- 【帝国cms教程】帝国CMS模板变量$GLOBALS[navclassid]用法分析04-03
- 【帝国cms教程】鲜为人知帝国CMS内容页调用上一篇和下一篇的精华方法汇总04-03
- 【帝国cms教程】怎么快速找出帝国CMS数据库配置文件路径及迁移网站后修改技巧!04-03
- 【帝国cms教程】帝国CMS模板$GLOBALS[navclassid]用法详解04-03
- 【帝国cms教程】帝国cms 7.5版列表页分页样式修改笔记04-02
- 【帝国cms教程】解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法04-02
- 【帝国cms教程】帝国CMS只备份栏目和模板的方法04-02
- 【帝国cms教程】帝国CMS怎样删除清空数据库记录?04-02
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法