DEDECMS What should I do if the related articles are not relevant?
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 there is finally a solution:
1 In inc_functions .php. Add
//查询指定栏目里包含相应关键字的文章,并列出 //参数说明:$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); //关键字分词技术 $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); $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."
2 at the end of ?> and put
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
in the article template page, which means that related articles in all columns (related to the keywords of the current article) are fetched. The maximum length of the title is 32, and a maximum of 10 items are displayed. Thumbnails
or
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”高三 语文”)’/}
are not displayed. You can find articles that contain "High School Chinese" or "High School" or "Chinese" in the title.
For example, this paragraph:
相关文章 {dede:likeart titlelen=’24′ row=’10′} [field:textlink/]< > {/dede:likeart}
will be changed to:
相关文章 {dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
Statement: This function was not written by me
Related articles based on keywords, It 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 What should I do if DEDECMS-related articles are not relevant?. For more information, please follow other related articles on the PHP Chinese website!