前言介绍
有网友来问他用tags循环出来的tag标签如何才能显示每个的数量,去翻看官方手册就会发现pbootcms的tags标签循环默认不带单个tag的数量调用,这种情况就只能自己去二开支持了,下面来讲下如何操作。
注意:可能不兼容sqlite数据库,sqlite暂不建议使用!如碰到问题可反馈客服。
更新记录
2022-8-10 修复多个栏目id查询时返回数量无效问题;修复大写英文返回数量无效问题(注意同一个单词需统一格式)。
修改步骤
打开修改文件:/apps/home/controller/ParserController.php
1、找到第一处以下代码
- $tags = implode(\’,\’, $rs);
在下方添加
- $tagsArr[] = $tags;
并且在当前foreach结束外添加
- $tagsAll = implode(\’,\’, $tagsArr);
- $tagsArrSum = array_count_values(explode(\’,\’, $tagsAll)); // @pbhtml 把所有tags组成数组并计算每个值得数量
2、找到第一处以下代码
- $tags = implode(\’,\’, $rs); // 把栏目tags串起来
在下方添加
- $tagsArrSum = array_count_values(explode(\’,\’, $tags)); // @pbhtml 把所有tags组成数组并计算每个值得数量
接着往下修改……
3、搜索以下代码
- $where2[] = “a.tags=\'” . $get_tag . “\'”;
修改成
- $where2[] = “FIND_IN_SET(\'”.$get_tag.“\’,a.tags)”; //pbhtml-tagsum 判断表里面一个逗号分隔的字符串是否包含单个字符串
4、找到这段代码
- case \’text\’:
$one_html = str_replace($matches2[0][$j], $this->adjustLabelData($params, $value[\’tags\’]), $one_html);
break;
在下方位置添加新的标签,具体位置看截图
- case \’sum\’:
$sum = $tagsArrSum[$value[\’tags\’]]; // @pbhtml-tagsum
$one_html = str_replace($matches2[0][$j], $sum, $one_html);
break;
5、上面修改后,前台就可以使用sum标签了,注意得新增 fuzzy=0 关闭模糊匹配
- {pboot:tags scode=6 target=tag fuzzy=0}
<li><a href=“[tags:link]”><p title=“[tags:text]”>[tags:text]</p><font><span>([tags:sum])</span></font></a></li>
{/pboot:tags}
效果截图:
至此完毕!
公告 : 本站提供的源码、模板、插件等等其他资源,不包含技术服务请大家谅解。赞助本站VIP会员免费提供技术服务以及远程协助。
说明: 本站源码压缩包如果有密码,统一解压密码:www.youmuban.com
须知:本站部分资源来源于网络收集,如有侵权,请联系站长进行删除处理。分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
说明: 本站源码压缩包如果有密码,统一解压密码:www.youmuban.com
须知:本站部分资源来源于网络收集,如有侵权,请联系站长进行删除处理。分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。