请选择 进入手机版 | 继续访问电脑版

[discuz教程] Discuz!标签页面分页显示全部标签

发表于 2019-6-4 16:08:39 mobankoudai 用户等级--管理员
修改方法:
1、修改/source/module/misc/misc_tag.php文件。
查找$navtitle = $metakeywords = $metadescription = $taglang;其后面一直到以下代码的重合部分整体替换掉:
$viewthreadtags = 500;

    //获取tag总数
    $total = $query = C::t('common_tag')->fetch_all_by_status(0);
    $total = count($total);

    //获取分页总数
    $totalPageNum = ceil($total/$viewthreadtags);

    //获取当前页
    $page = isset($_GET['page']) ? (int)$_GET['page'] : 1;

    //显示前5页
    $minPage = $page - 5;
    if($minPage < 1){
        $minPage = 1;
    }
    $pageStyle = '';
    for($i=$minPage;$i<$page;$i++){
        $pageStyle .= "<a href=\"/misc.php?mod=tag&page={$i}\">{$i}</a>";
    }

    //显示后6页
    $maxPage = $page + 5;
    if($maxPage > $totalPageNum){
        $maxPage = $totalPageNum;
    }
    for($i=$page;$i<=$maxPage;$i++){
        if($i == $page){
            $pageStyle .= "<strong>{$i}</strong>";
        }else{
            $pageStyle .= "<a href=\"/misc.php?mod=tag&page={$i}\">{$i}</a>";
        }
    }

    $tagarray = array();
    $skipNum = ($page - 1)*$viewthreadtags;
    $query = C::t('common_tag')->fetch_all_by_status(0, '', $skipNum, $viewthreadtags, 0, 'DESC');
    foreach($query as $result) {
        $tagarray[] = $result;
    }
    include_once template('tag/tag');
}

2、修改template/default/tag/tag.htm文件
<div class="taglist mtm mbm">
                                <!--{if $tagarray}-->
                                        <!--{loop $tagarray $tag}-->
                                                <a href="tag-$tag[tagid].html" title="$tag[tagname]" target="_blank" class="xi2">$tag[tagname]</a>
                                        <!--{/loop}-->
                                <!--{else}-->
                                        <p class="emp">{lang no_tag}</p>
                                <!--{/if}-->
                        </div>

在其后添加<div class="pg" style="margin:20px 0;">{$pageStyle}</div>作用是显示分页码按钮。
这样就可以把网站所有的标签按照分页显示,但是自己觉得还是有点问题,就是有些标签并没有文章,后续在优化一些,只读取哪些有文章关联的标签。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表
本站不提供充值,如需金币请分享资源赚,没有源码分享的多来论坛发发贴就可以升级用户组免金币了鸭!各别源码说明中写着要钱钱就别问为啥不能下了鸭~