Maison  >  Article  >  Tutoriel CMS  >  Comment modifier les articles liés à DEDECMS à l'aide de mots-clés

Comment modifier les articles liés à DEDECMS à l'aide de mots-clés

藏色散人
藏色散人original
2019-12-14 10:34:082244parcourir

Comment modifier les articles liés à DEDECMS à l'aide de mots-clés

Comment modifier les mots-clés dans les articles liés à DEDECMS ?

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 un problème avec le code

Apprentissage recommandé : Dream Weaver cms

Maintenant, il y a enfin une solution :

1 Ajoutez

avant le dernier ?> dans inc_functions.php et le code est le suivant :

//查询指定栏目里包含相应关键字的文章,并列出 
//参数说明:$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 &#39;%$k%&#39;)"; 
//$kwsqlarr[] = " (xkzzz_archives.keywords like &#39;%$k%&#39;) "; //如果需要相关到其它文章的关键字,解除此行注释 
} 
} 
$where = implode(&#39; OR &#39;,$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 &#39;%".$keyWord."%&#39;) 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=&#39;".$url."&#39; 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=&#39;sjdqimggl&#39;><a href=&#39;".$url."&#39; target=_blank>"; </p> <p>if ($row->litpic!="") $ss=$ss."<img src=&#39;".$row->litpic."&#39; alt=&#39;".$row->title."&#39; />"; 
else $ss=$ss."<img src=&#39;/images/titl.gif&#39;/>"; 
$ss=$ss."</a></span><span class=&#39;sjdqtxttl&#39;><a href=&#39;".$url."&#39; 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 Mettez-le dans la page du modèle d'article

{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}

signifie que tout sera obtenu. Pour les articles liés dans la colonne (liés aux mots-clés de l'article en cours), la longueur maximale du titre est de 32, et un Un maximum de 10 articles sont affichés. Les vignettes ne sont pas affichées.

ou

{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”高三 语文”)’/}

peuvent être trouvés dans le titre, contenant " " High School Chinese ", ou des articles contenant " High School " ou ". Chinois"

Par exemple, ce paragraphe :

相关文章 
{dede:likeart titlelen=’24′ row=’10′}
[field:textlink/]< > 
{/dede:likeart}

devrait être remplacé par :

相关文章 
{dede:field name=’keywords’ function=’ShowKeyWordArc(0,32,10,0,”@me”)’/}

Déclaration : Cette fonction n'est pas la mienne J'écris des articles connexes basés sur des mots-clés, ce qui 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn