Discuz模板|Discuz插件|Discuz教程|Discuz素材免费下载

 找回密码
 立即注册

QQ登录

只需一步,快速开始

温馨提示:本站所有DZ相关模板、插件、教程(包括DZ应用中心已下架插件、模板)所有用户可全部免费下载,无任何收费模式(不包括VIP版块非DZ资源,VIP版块需购买会员组方可下载),如本站没有您需要的插件或模板,请自行前往淘宝互站网送码网等第三方站点搜索相关插件或模板进行低价格购买下载本站非常不建议用户浪费金钱前往DZ应用中心购买。

Discuz!添加标签聚合页,以分页形式显示所有标签

[复制链接]
tuyuanma 发表于 2021-1-11 16:57:08 | 显示全部楼层 |阅读模式
温馨提醒:禁止内容附带广告图片、二维码图片,否则将在不通知情况下永久禁言账号!
欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]


前段时间把discuz原本的标签聚合页修改了一下,原本的标签聚合页只显示100条最新的标签,把它修改成了所有标签都显示,并加上分页。
修改方法:
1、修改/source/module/misc/misc_tag.php文件
搜索
  1. } else {
  2.     $navtitle = $metakeywords = $metadescription = $taglang;
  3.                                                                                                                                                                                                         
  4.     //每页显示的数量
  5.     $viewthreadtags = 500;
  6.                                                                                                                                                                                                         
  7.     //获取tag总数
  8.     $total = $query = C::t('common_tag')->fetch_all_by_status(0);
  9.     $total = count($total);
  10.                                                                                                                                                                                                         
  11.     //获取分页总数
  12.     $totalPageNum = ceil($total/$viewthreadtags);
  13.                                                                                                                                                                                                         
  14.     //获取当前页
  15.     $page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
  16.                                                                                                                                                                                                         
  17.     //显示前5页
  18.     $minPage = $page - 5;
  19.     if($minPage < 1){
  20.         $minPage = 1;
  21.     }
  22.     $pageStyle = '';
  23.     for($i=$minPage;$i<$page;$i++){
  24.         $pageStyle .= "<a href="/misc.php?mod=tag&page={$i}">{$i}</a>";
  25.     }
  26.                                                                                                                                                                                                         
  27.     //显示后6页
  28.     $maxPage = $page + 5;
  29.     if($maxPage > $totalPageNum){
  30.         $maxPage = $totalPageNum;
  31.     }
  32.     for($i=$page;$i<=$maxPage;$i++){
  33.         if($i == $page){
  34.             $pageStyle .= "<strong>{$i}</strong>";
  35.         }else{
  36.             $pageStyle .= "<a href="/misc.php?mod=tag&page={$i}">{$i}</a>";
  37.         }
  38.     }
  39.                                                                                                                                                                                                         
  40.     $tagarray = array();
  41.     $skipNum = ($page - 1)*$viewthreadtags;
  42.     $query = C::t('common_tag')->fetch_all_by_status(0, '', $skipNum, $viewthreadtags, 0, 'DESC');
  43.     foreach($query as $result) {
  44.         $tagarray[] = $result;
  45.     }
  46.     include_once template('tag/tag');
  47. }
复制代码
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>
复制代码
在其后添加
  1. <div class="pg" style="margin:20px 0;">{$pageStyle}</div>
复制代码
作用是显示分页码按钮。

这样就可以把网站所有的标签按照分页显示,但是自己觉得还是有点问题,就是有些标签并没有文章,后续在优化一些,只读取哪些有文章关联的标签。

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




自动排版 | 高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

493651246站长邮箱:tuyuanma@qq.com 站长QQ:3197813386

© 2015-2021 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

快速回复 返回顶部 返回列表