有网友来问pbootcms网站建设的时候想用tags循环出来的tag标签如何才能显示每个的数量,去翻看官方手册就会发现PbootCMS的tags标签循环默认不带单个tag的数量调用,这种情况就只能自己去二开支持了,pbootcms网站建设的下面来讲下如何操作tag标签文章数量。

教程步骤
打开修改文件:/apps/home/controller/ParserController.php
1、找到这段代码(有两处),在下方添加新代码1 | $tags = implode( ',' , $rs); // 把栏目tags串起来 |
|
添加后
1 | $tags = implode( ',' , $rs); // 把栏目tags串起来 |
2 | $tagsArrSum = array_count_values(explode( ',' , $tags)); // @mk-tags_one_sum 把所有tags组成数组并计算每个值得数量 |
|

2、找到这段代码在下方位置,添加新的判断,具体位置看截图
2 | $one_html = str_replace($matches2[0][$j], $this->adjustLabelData($params, $value[ 'tags' ]), $one_html); |
|
添加后
2 | $one_html = str_replace($matches2[0][$j], $this->adjustLabelData($params, $value[ 'tags' ]), $one_html); |
5 | $ sum = $tagsArrSum[$value[ 'tags' ]]; // @mk-tags_one_sum |
6 | $one_html = str_replace($matches2[0][$j], $ sum , $one_html); |
|

3、上面修改后,前台就读了个sum标签,具体使用如下
1 | {pboot:tags scode=6 target=tag} |
2 | <li><a href= "[tags:link]" ><p title= "[tags:text]" >[tags:text]</p><font><span>([tags: sum ])</span></font></a></li> |
|
效果截图:

这样就搞定了,不过慢慢的你会发现个bug,我后台文章状态选择了关闭,他的tag怎么也被调用出来了,右侧显示1个的时候点击进去就会显示无数据。这个问题请看下面:修复PbootCMS文章状态为关闭时tag标签依旧显示问题,增加文章状态判断。
理论上后台文章状态关闭了,那么前台的这篇文章生成出来的tag就应该消失掉,但是现在PbootCMS默认的并没有根据文章状态显示隐藏。在平时一般使用中可能影响不大,但是碰到类似本站右侧有tags列表展示,而且还配了数量显示,那么当用户看到明明显示有数量点击进去却没有,这种体验效果就很差。那么现在就来讲下如何修复这个问题,实现tag标签可以随文章状态实现显示和隐藏。
实现方法
打开这个文件 ppshomemodelParserModel.php,找到getSortTags($scode)截图这个位置

在其最后找到
$result = parent::table('ay_content a')->where("c.type=2 AND a.tags<>''")
->where($scode_arr, 'OR')
->join($join)
->order('a.visits DESC')
->column('a.tags');
return $result;
将其修改为以下,保存即可
$result = parent::table('ay_content a')->where('a.status=1')->where("c.type=2 AND a.tags<>''")
->where($scode_arr, 'OR')
->join($join)
->order('a.visits DESC')
->column('a.tags');
return $result;
方法解读
上面的方法是给去数据库查找的时候增加了个状态判断where('a.status=1')
扫一扫,浏览关注本文