View Single Post
  #1   IP: 153.99.20.70
Old 2015-04-12, 11:04 AM
Waccabuc Waccabuc is offline
初级会员
 
Join Date: 2007-11-17
Posts: 3
Waccabuc 现在声名狼藉
Default Discuz! X3.2默认的5个主题标签Tag增加数量

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;
}
Reply With Quote