下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国cms任意页/tag合集页调取数据并分页的实现代码

663 2021-05-30 02:00:01

收藏
帝国cms任意页/tag合集页调取数据并分页的实现代码
帝国cms列表页是自带分页的,但如果不是栏目自带数据,则无法进行分页。而tag列表的tag信息就不属于栏目信息,帝国cms自带分页就无法使用。而今天有客户因为tag太多,需要做分页,结合几个页面简单糅合了一下。目前功能虽然实现,但没有做分页参数伪静态处理,整体较为low逼。后期有时间了再优化。

帝国cms任意页tag合集页调取数据并分页的实现代码

模板中加入分页代码

<?php
$search='';
$page=(int)$_GET['page'];
$page=RepPIntvar($page);
$start=0;
$line=1;//每页显示条数
$page_line=10;//每页显示链接数
$offset=$page*$line;//总偏移量
$query="select * from {$dbtbpre}enewstags";
$totalquery="select count(*) as total from {$dbtbpre}enewstags";
//类别
$add="";
$classid=(int)$_GET['cid'];
if($classid)
{
    $add=" where cid=$classid";
    $search.="&cid=$classid";
}
$query.=$add;
$totalquery.=$add;
$num=$empire->gettotal($totalquery);//取得总条数
$query=$query." order by num desc limit $offset,$line";
$sql=$empire->query($query);
$returnpage=user_page($num,$line,$page_line,$start,$page,$search,$add);
?>
 

模板里的循环

<?
  $sql=$empire->query($query);
  while($bqr=$empire->fetch($sql)){
      $bqno++;
  ?>
  <li>
    <a href="/tags-<?=$bqr[tagname]?>-0.html"><?=$bqr[tagname]?></a>
  </li>
<?
    }
?>
 

模板里分页调用

<div class="pagination"><?=str_replace('&page=','?page=',$returnpage)?></div>
 

栏目路径伪静态

/e/class/userfun.php加入如下代码
function user_page($num,$line,$page_line,$start,$page,$search,$add){
  global $fun_r;
  $num=(int)$num;
  $line=(int)$line;
  $page_line=(int)$page_line;
  $start=(int)$start;
  $page=(int)$page;
  if($num<=$line)
  {
    return '';
  }
  $search=RepPostStr($search,1);
  $snum=2;//最小页数
  $totalpage=ceil($num/$line);//取得总页数
  $firststr='<a title="'.$fun_r['trecord'].'">&nbsp;<b>'.$num.'</b> </a>&nbsp;&nbsp;';
  //上一页
  if($page<>0)
  {
    $toppage='<a href="'.eReturnRewritePageLink($add,0).'">'.$fun_r['startpage'].'</a>&nbsp;';
    $pagepr=$page-1;
    $prepage='<a href="'.eReturnRewritePageLink($add,$pagepr).'">'.$fun_r['pripage'].'</a>';
  }
  //下一页
  if($page!=$totalpage-1)
  {
    $pagenex=$page+1;
    $nextpage='&nbsp;<a href="'.eReturnRewritePageLink($add,$pagenex).'">'.$fun_r['nextpage'].'</a>';
    $lastpage='&nbsp;<a href="'.eReturnRewritePageLink($add,$totalpage-1).'">'.$fun_r['lastpage'].'</a>';
  }
  $starti=$page-$snum<0?0:$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>";
    }
    else
    {
      $is_1='<a href="'.eReturnRewritePageLink($add,$i).'">';
      $is_2="</a>";
    }
    $pagenum=$i+1;
    $returnstr.="&nbsp;".$is_1.$pagenum.$is_2;
  }
  $returnstr=$toppage.$prepage.$returnstr.$nextpage.$lastpage;
  return $returnstr;
}
 

nginx伪静态参数

本参数需要配合接口,没有接口可以改成帝国cms默认伪静态路径
rewrite ^([^\.]*)/tags-(.+?)-(.+?)\.html$ $1/e/tags/index.php?tagname=$2&page=$3 last;
if (!-e $request_filename) {
  return 404;
}
if (!-f $request_filename){
    set $rule_0 1$rule_0;
}
if ($request_uri !~ "^(/d/|/e/|/html/|/images/|/s/|/search/|/skin/|/t/|/ad/)"){
    set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
    rewrite ^/tags/$ /e/action/list.php?classid=10 last;
}
if (!-e $request_filename) {
    return 404;
}

 

附注

1、如果直接在栏目目录创建php文件,实现分页伪静态就可以通过伪静态规则直接设定。
2、考虑到后台操作的便利性与统一性,以后有时间了再优化本方案伪静态规则。

本文地址:https://xzo.com.cn/develop/empire/998.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
帝国cms后台信息列表标题显示不完怎么办?
帝国cms后台信息列表标题显示不完怎么办?

帝国CMS后台信息列表标题文字字数默认是被控制过的,超出一行会截断,一些相对...

15 800
帝国CMS开发的网站怎样修改网站标题关键词和描述?
帝国CMS开发的网站怎样修改网站标题关键词和描述?

在网站运营的过程中,由于业务的变更或是优化的需要,可能需要修改网站的标题,关...

1 505
帝国cms留言板怎样做在线留言的功能?
帝国cms留言板怎样做在线留言的功能?

在线留言是我们常用的功能,通过开发一个简单的留言板,我们可以有效与潜在用户...

1 388
帝国cms怎样批量删除上万篇文章/指定会员/时间段发布的信息?
帝国cms怎样批量删除上万篇文章/指定会员/时间段发布的信息?

在网站运营过程中,我们可能因为这样那样的原因需要批量删除大批文章信息,几十...

1 1161
怎样实现帝国CMS验证码无刷新显示?
怎样实现帝国CMS验证码无刷新显示?

这个蜘蛛爬虫、恶意广告横行的年代,任何涉及到信息反馈的页面不加入验证码就...

1 475
帝国CMS怎样配置勾选会员注册协议才能注册
帝国CMS怎样配置勾选会员注册协议才能注册

帝国CMS默认注册是没有会员注册协议的。但如果从严谨的角度出发,不勾选&ldqu...

0 377
怎样防止帝国cms广告被广告插件屏蔽?
怎样防止帝国cms广告被广告插件屏蔽?

帝国cms广告挺好用的,但因为ad标识太明显,容易被浏览器广告插件屏蔽。那么,我...

0 710
帝国cms怎样关闭评论验证码?
帝国cms怎样关闭评论验证码?

帝国cms网站评论验证码是一个很重要的功能,有验证码才能挡住大量的灌水信息...

0 376
推荐插件
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1100
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 869
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...

0 778
帝国cms百度AI图像清晰度增强api接口对接插件
帝国cms百度AI图像清晰度增强api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...

0 481
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 348
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 432
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1242
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 381
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入