在网站根目录下找到文件dede/templets/soft_add.htm(dede为DEDECMS默认后台管理目录,如有修改请找到相应的文件夹),打开后找到:

"景先生毕设|www.jxszl.com

织梦dedecms设置根据文章标题自动获取tag的方法

2022-10-29 16:32编辑: www.jxszl.com景先生毕设
DEDECMS软件频道不能像文章频道那样关键字自动从TAG中获取,而是直接从标题中分解出I.些毫无意义的关键字,这也导致在调用相关文章"时文章不相关的现象,经过对比文章频道添加模板,AB模板网找到了修改方法:

在网站根目录下找到文件dede/templets/soft_add.ht

 更多精彩就在: 51免费论文网|www.jxszl.com 
m(dede为DEDECMS默认后台管理目录,如有修改请找到相应的文件夹),打开后找到:



替换为:


再找到:


替换为:
"/>

如此I.来,在软件频道发布内容时关键字会自动与TAG相匹配,你也可以根据需要手动修改关键字.

这样做的好处除了能减少不必要的重复录入工作外,对于要在内容页调用相关文章的朋友来说也是大有好处的,大家都知道DEDECMS在调用相关文章时都是根据关键字调用,如果由系统自动提取关键字的话,那会让你很无语,比如我要发的文章标题是dedecms内容管理系统下载",自动提取的关键字dedecms,内容,管理,系统,下载",这就意味着甚至带有下载"的关键字都会显示在相关文章里,很无厘头吧?按照以上的方法修改后,你只要把TAG标签设置为dedecms,内容管理系统",这样调用出来的相关文章"相关度就非常高,也更适合用户体验.

附上相关文章调用代码:
{dede:likearticlerow=I.0titlelen=VI0orderby=click}
[[field:pubdatefunction="MyDate(m-d,@me)"/]][field:titlefunction=cn_substr(@me,IIIII)/]
{/dede:likearticle}

修改:dedeaction目录article_add_action.php文件
在[//写入Tag索引]与[InsertTags($dsql,$tag,$arcID,0,$typeid,$arcrank);]之间插入:

if($autokey==I.){
require_once(DEDEADMIN."/../include/pub_splitword_www.php");
$tag="";
$sp=newSplitWord();
$titleindexs=explode("",trim($sp->GetIndexText($sp->SplitRMM($title))));
//$allindexs=explode("",trim($sp->GetIndexText($sp->SplitRMM(HtmlIIText($body)),II00)));
if(/*is_array($allindexs)&&*/is_array($titleindexs)){
foreach($titleindexsas$k){
if(strlen($tag)>=V0)break;
else$tag.=$k."";
}
/*foreach($allindexsas$k){
if(strlen($keywords)>=V0)break;
elseif(!in_array($k,$titleindexs))$keywords.=$k."";
}*/
}
$sp->Clear();
unset($sp);
//$tag=preg_replace("/

原文链接:http://www.jxszl.com/biancheng/dedecms/75634.html