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

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

602 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默认的下载地址是点击后弹窗一个小窗口,用户体验度并不好,但我们可以...

13 711
帝国CMS怎样做隔行变色的功能?
帝国CMS怎样做隔行变色的功能?

一些颜色比较丰富的站点对模板的样式有要求,例如隔行变色:一行默认色,一行红色...

16 606
帝国CMS 8.0版本即将上线,届时不再支持GBK、BIG5编码
帝国CMS 8.0版本即将上线,届时不再支持GBK、BIG5编码

3月1日上午10点,帝国cms创始人王猛发布微博称8.0版本不再支持gbk、big5编码...

8 621
帝国cms怎样在新增信息时自动刷新自定义页面(sitemap.xml等)?
帝国cms怎样在新增信息时自动刷新自定义页面(sitemap.xml等)?

很多帝国CMS网站使用自定义页面制作sitemap或是其他一些重要的页面,如果每次...

3 436
网上下载的帝国CMS免费模板,怎样防止后门与挂马?
网上下载的帝国CMS免费模板,怎样防止后门与挂马?

帝国CMS是一款相当安全的开源cms程序,如果使用规范的模板,一般是不会被挂马的...

7 1056
帝国cms怎样记录会员浏览信息历史记录?
帝国cms怎样记录会员浏览信息历史记录?

帝国cms论坛早已有了以cookie形式保存浏览量历史记录在客户端的插件,但这样...

7 428
帝国cms删除文章时不删除该文章所属的附件
帝国cms删除文章时不删除该文章所属的附件

帝国cms删除文章时往往非常彻底,不仅删除了数据库里的文章信息、生成的页面,...

0 439
帝国cms默认评论表情添加修改调用与删除
帝国cms默认评论表情添加修改调用与删除

帝国cms评论中默认的表情包是QQ表情,默认显示10个,可以添加可以修改,本文详细...

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

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

0 284
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 633
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

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

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

0 988
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 598
帝国cms访问统计ip地址链接与封禁插件下载
帝国cms访问统计ip地址链接与封禁插件下载

下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...

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

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

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

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

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