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

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

675 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搜索结果关键词标红怎么实现?

帝国cms7.5默认是有关键词标红功能的,但一些站使用了二开版本的搜索结果支持...

3 422
帝国CMS多值字段怎样增加上传图片的功能?
帝国CMS多值字段怎样增加上传图片的功能?

帝国CMS多值字段是一个字段包含N条内容的方法,通过合理运用多值字段,我们可以...

1 408
帝国CMS怎样验证后台发布信息标题是否重复?
帝国CMS怎样验证后台发布信息标题是否重复?

想要在帝国cms后台禁止发布标题相同的信息,或是在发布信息时验证一下标题是...

2 747
帝国cms怎样判断会员是否登录的状态?
帝国cms怎样判断会员是否登录的状态?

许多站点需要做帝国cms会员投稿的功能,不仅可以借此盈利,还能有效促进seo排名...

0 402
帝国cms怎样防止垃圾留言?
帝国cms怎样防止垃圾留言?

帝国cms留言板使用比较广泛,但如果不做合理配置,则会出现被垃圾留言刷屏的情...

1 665
帝国cms灵动标签日期用英文显示的方法
帝国cms灵动标签日期用英文显示的方法

我们知道,帝国cms的日期可以根据需要调用问多种格式,如x年x月x日、年-月-日、...

0 377
帝国cms自动更新相关tag的fclast上次修改时间字段
帝国cms自动更新相关tag的fclast上次修改时间字段

每次更新发布文章tag信息后,tag数据表的时间会自动同步,但tag信息表的修改时...

0 423
填坑笔记:帝国cms栏目部分页面无法访问的原因与解决办法
填坑笔记:帝国cms栏目部分页面无法访问的原因与解决办法

在网站开发的过程中,我们可能因为这样那样的问题遇到无数的出错。有可能是代...

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

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

0 891
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

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

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

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

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

0 1123
帝国cms百度、必应bing、神马推送增强收录三合一插件
帝国cms百度、必应bing、神马推送增强收录三合一插件

因客户需要一键推送到多平台,下载鸥开发了这款一键推送至百度、必应、神马插...

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

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

0 675
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

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

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

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