Home > Article > CMS Tutorial > How to modify DEDECMS related articles using keywords
How to modify the keywords in articles related to DEDECMS?
DEDE related articles are completely irrelevant. A friend of DEDE officially released related articles according to TAG, which is also very good. Unfortunately, after I changed the DEDE code according to the article there, it always failed. Maybe it was The ability is limited, of course, there may be a problem with the code
Recommended study: 梦Weavercms
Now we finally have a solution:
1 Add
at the end of inc_functions.php before ?> and the code is as follows:
//查询指定栏目里包含相应关键字的文章,并列出 //参数说明:$showImg 是否显示缩略图,0表示不显示,1表示显示 // $titleLen 标题长度,0表示无限 // $rowCount 输出行数,0表示无限 // $typeid 栏目ID,0表示所有栏目 // $keyWord 关键字,字符串 function ShowKeyWordArc($showImg,$titleLen,$rowCount,$typeid,$keyWord){ $dsql = new DedeSql(false); $sql = TypeGetSunID($typeid,$dsql); </p> <p>//关键字分词技术 $ks = explode(" ",$keyWord); foreach($ks as $k){ $k = trim($k); if ($k!="") { $kwsqlarr[] = " (xkzzz_archives.title like '%$k%')"; //$kwsqlarr[] = " (xkzzz_archives.keywords like '%$k%') "; //如果需要相关到其它文章的关键字,解除此行注释 } } $where = implode(' OR ',$kwsqlarr); </p> <p>$sql="Select tp.namerule,tp.typedir,xkzzz_full_search.aid,xkzzz_full_search.url,xkzzz_archives.* From xkzzz_full_search left join xkzzz_archives on xkzzz_full_search.aid=xkzzz_archives.ID left join xkzzz_arctype tp on xkzzz_archives.typeid=tp.ID where {$sql} and ((xkzzz_archives.title like '%".$keyWord."%') or $where) order by xkzzz_full_search.aid desc"; $dsql->SetQuery($sql); $dsql->Execute(); $ss=""; $i=0; while($row=$dsql->GetObject()){ $url=GetFileUrl($row->ID,$row->typeid,$row->senddate,$row->title,$row->ismake,$row->arcrank,$row->namerule,$row->typedir,$row->money); if ($showImg==0){ $ss=$ss."<LI><a href='".$url."' target=_blank>"; if ($titleLen!=0) $ss=$ss.cn_substr($row->title,$titleLen); else $ss=$ss.$row->title; $ss=$ss."</A></LI>"; }else{ $ss=$ss."<LI><span class='sjdqimggl'><a href='".$url."' target=_blank>"; </p> <p>if ($row->litpic!="") $ss=$ss."<img src='".$row->litpic."' alt='".$row->title."' />"; else $ss=$ss."<img src='/images/titl.gif'/>"; $ss=$ss."</a></span><span class='sjdqtxttl'><a href='".$url."' target=_blank>"; if ($titleLen!=0) $ss=$ss.cn_substr($row->title,$titleLen); else $ss=$ss.$row->title; $ss=$ss."</A></span></LI>"; } $i++; if (($rowCount!=0)&&($i>=$rowCount)) return $ss; } return $ss; }
2 Put it in the article template page
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
means to get all For related articles in the column (related to the keywords of the current article), the maximum title length is 32, and a maximum of 10 articles are displayed. Thumbnails
or
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”高三 语文”)’/}
can be found in the title, containing " "High School Chinese", or articles containing "High School" or "Chinese"
For example, this paragraph:
相关文章 {dede:likeart titlelen=’24′ row=’10′} [field:textlink/]< > {/dede:likeart}
should be changed to:
相关文章 {dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
Statement: This function is not mine I write related articles based on keywords, which is very good in terms of user experience and SEO
But the only bad thing is that it will be much slower when generating static, haha, the server will have to work hard again
The above is the detailed content of How to modify DEDECMS related articles using keywords. For more information, please follow other related articles on the PHP Chinese website!