Discuz! X3.2默认的5个主题标签Tag增加数量

2014年9月27日 发表评论 阅读评论

核弹大爆炸论坛站长小猪这里友情提醒下,这个网上的朋友说错了一些,比如forum_post.php是不改变tag增加数量的他里面recent_use_tag函数,是影响发帖和编辑帖时候下面显示的最近使用标签,另外discuz的标签模块代码非常的烂,bug也很多需要注意!

DISCUZ模拟发布采集数据时,因为中文分词词库不怎么完整,分词得到的主题Tag标签数据很多。需要添加的主题标签数量远远超过DISCUZ默认的5个Tag标签,DISCUZ后台设置没有增加主题标签数量的选项,从网上也没有搜索到谁的解决代码。

摸索中找到解决方法,改动两处即可解决Discuz增加主题标签Tag数量。

步骤一、更改source/module/forum/forum_post.php 361行

function recent_use_tag() { $tagarray = $stringarray = array(); $string = ”; $i = 0; $query = C::t(‘common_tagitem’)->select(0, 0, ‘tid’, ‘itemid’, ‘DESC’, 10); foreach($query as $result) { if($i > 4) { //4改成想要的标签数-1 break; } if($tagarray[$result['tagid']] == ”) { $i++; } $tagarray[$result['tagid']] = 1; } if($tagarray) { $query = C::t(‘common_tag’)->fetch_all(array_keys($tagarray)); foreach($query as $result) { $tagarray[$result[tagid]] = $result['tagname']; } } return $tagarray; }

这样发布的时候设置好tag数量 POST传过去的标签数量从5变成你设置的数量了

步骤一、更改source/class/class_tag.php 53行

if($tagid) {
					if($itemid) {
						C::t('common_tagitem')->replace($tagid,$itemid,$idtype);
					}
					$tagcount++;
					if(!$returnarray) {
						$return .= $tagid.','.$tagname."\t";
					} else {
						$return[$tagid] = $tagname;
					}   }
				if($tagcount > 4) { //4改成想要的标签数量-1
					unset($tagarray);
					break;
				}


转载请注明来自:[MSN Spaces]http://msn.shandian.biz/802.html

  1. 本文目前尚无任何评论.