[Discuz技术] Discuz!标签页面分页显示全部标签

[复制链接]
查看: 491|回复: 0

15

主题

15

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2019-6-16 23:56:28 | 显示全部楼层 |阅读模式
前段时间把discuz原本的标签聚合页修改了一下,原本的标签聚合页只显示100条最新的标签,把它修改成了所有标签都显示,并加上分页。
3.jpg
修改方法:
1、修改/source/module/misc/misc_tag.php文件。
查找$navtitle = $metakeywords = $metadescription = $taglang;其后面一直到以下代码的重合部分整体替换掉:
  1. $viewthreadtags = 500;
  2.                                                                                                                                                                                                         
  3.     //获取tag总数
  4.     $total = $query = C::t('common_tag')->fetch_all_by_status(0);
  5.     $total = count($total);
  6.                                                                                                                                                                                                         
  7.     //获取分页总数
  8.     $totalPageNum = ceil($total/$viewthreadtags);
  9.                                                                                                                                                                                                         
  10.     //获取当前页
  11.     $page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
  12.                                                                                                                                                                                                         
  13.     //显示前5页
  14.     $minPage = $page - 5;
  15.     if($minPage < 1){
  16.         $minPage = 1;
  17.     }
  18.     $pageStyle = '';
  19.     for($i=$minPage;$i<$page;$i++){
  20.         $pageStyle .= "<a href="/misc.php?mod=tag&page={$i}">{$i}</a>";
  21.     }
  22.                                                                                                                                                                                                         
  23.     //显示后6页
  24.     $maxPage = $page + 5;
  25.     if($maxPage > $totalPageNum){
  26.         $maxPage = $totalPageNum;
  27.     }
  28.     for($i=$page;$i<=$maxPage;$i++){
  29.         if($i == $page){
  30.             $pageStyle .= "<strong>{$i}</strong>";
  31.         }else{
  32.             $pageStyle .= "<a href="/misc.php?mod=tag&page={$i}">{$i}</a>";
  33.         }
  34.     }
  35.                                                                                                                                                                                                         
  36.     $tagarray = array();
  37.     $skipNum = ($page - 1)*$viewthreadtags;
  38.     $query = C::t('common_tag')->fetch_all_by_status(0, '', $skipNum, $viewthreadtags, 0, 'DESC');
  39.     foreach($query as $result) {
  40.         $tagarray[] = $result;
  41.     }
  42.     include_once template('tag/tag');
  43. }
复制代码
2、修改template/default/tag/tag.htm文件
  1. <div class="taglist mtm mbm">
  2.                                 <!--{if $tagarray}-->
  3.                                         <!--{loop $tagarray $tag}-->
  4.                                                 <a href="tag-$tag[tagid].html" title="$tag[tagname]" target="_blank" class="xi2">$tag[tagname]</a>
  5.                                         <!--{/loop}-->
  6.                                 <!--{else}-->
  7.                                         <p class="emp">{lang no_tag}</p>
  8.                                 <!--{/if}-->
  9.                         </div>

复制代码
在其后添加<div class="pg" style="margin:20px 0;">{$pageStyle}</div>作用是显示分页码按钮。
这样就可以把网站所有的标签按照分页显示
腾讯云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文



在线客服(工作时间:9:00-22:00)
400-600-6565

内容导航

微信客服

Copyright   ©2015-2019  云服务器社区  Powered by©Discuz!  技术支持:尊托网络     ( 湘ICP备15009499号-1 )