Que dois-je faire si les articles liés à DEDECMS ne sont pas pertinents ?
Les articles liés à DEDE ne sont absolument pas pertinents. Un de mes amis a publié le site officiel de DEDE pour afficher des articles liés basés sur TAG, ce qui est également très bon. Malheureusement, après avoir modifié le code DEDE basé sur. l'article là-bas, ça n'a toujours pas fonctionné. C'est peut-être parce que la capacité est limitée, bien sûr, il peut y avoir des problèmes avec le code
Apprentissage recommandé : Dream Weaver cms
Maintenant, il y a enfin une solution :
1 dans inc_functions .php Enfin, ajoutez
//查询指定栏目里包含相应关键字的文章,并列出 //参数说明:$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."<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>"; 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 avant ?> et placez
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
dans la page du modèle d'article. , ce qui signifie que les articles associés dans toutes les colonnes (liés aux mots-clés de l'article actuel) sont récupérés. La longueur maximale du titre est de 32 et un maximum de 10 éléments ne sont pas affichés. > ou
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”高三 语文”)’/}
peuvent être utilisés pour rechercher des articles contenant « High School Chinese », ou « High School » ou « Chinese » dans le titre
Par exemple, ce paragraphe :
.相关文章 {dede:likeart titlelen=’24′ row=’10′} [field:textlink/]< > {/dede:likeart}
doit être remplacé par :
相关文章 {dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}
Déclaration : Cette fonction n'a pas été écrite par moi
Articles connexes basés sur des mots-clés, c'est très bon en termes d'expérience utilisateur et de référencement
Mais le seul inconvénient est que ce sera beaucoup plus lent lors de la génération de statique, haha, le serveur devra encore travailler dur
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!