首页 > CMS建站 > 织梦DEDE > 正文

织梦模板小白讲堂二十四:织梦模板相关文章怎么才能真正相关

2020-07-02 22:23:11
字体:
来源:转载
供稿:网友
这篇文章主要为大家详细介绍了织梦模板小白讲堂二十四:织梦模板相关文章怎么才能真正相关,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。

给用户做织梦模板的时候,经常需要需要使用的相关文章这一功能,但是我们使用的时候发现,调用的相关文章,有的时候并不相关,很是尴尬。那么这种相关文档不相关的情况怎么办呢?

DEDECMS相关文档不相关怎么办

      其实出现这样相关文章完全不相关的情况,我们在DEDE官方放出根据TAG显示相关文章是可以实现的,而且效果也是很不错的,例如织梦模板网前面教程给大家介绍的《织梦模板标签dede:arclist按照自定义字段的条件调用相关文章》以及《相关文章likeart在织梦模板制作过程中的使用实例》都是很好的解决办法。但是有些朋友在使用上述方法后反馈说不行,用不了。当然织梦模板网提供的教程和方法肯定是不会错的,有朋友用不了可能是您的网站之前做过二次开发,或者也可能是您的网站代码有些问题。下面错新网小编给大家再分享一个“傻瓜式”的代码功能,帮你实现相关文章的方法。

第一步、在 inc_functions.php 最后?>前 加上

    //查询指定栏目里包含相应关键字的文章,并列出  //参数说明:$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[] = " (dede_archives.title like '%$k%') ";  //$kwsqlarr[] = " (dede_archives.keywords like '%$k%') "; //如果需要相关到其它文章的关键字,解除此行注释  }  }  $where = implode(' OR ',$kwsqlarr);  $sql="Select tp.namerule,tp.typedir,dede_full_search.aid,dede_full_search.url,dede_archives.* From   dede_full_search left join dede_archives on dede_full_search.aid=dede_archives.ID left join dede_arctype tp on   dede_archives.typeid=tp.ID where {$sql} and ((dede_archives.title like '%".$keyWord."%') or $where) order by dede_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."";  if ($titleLen!=0) $ss=$ss.cn_substr($row->title,$titleLen);  else $ss=$ss.$row->title;  $ss=$ss."";  }else{  $ss=$ss."";  if ($row->litpic!="") $ss=$ss."litpic."" _src="".$row->litpic.""/>";  else $ss=$ss."";  $ss=$ss."";  if ($titleLen!=0) $ss=$ss.cn_substr($row->title,$titleLen);  else $ss=$ss.$row->title;  $ss=$ss."";   }  $i ;  if (($rowCount!=0)&&($i>=$rowCount)) return $ss;  }  return $ss;  }

第二步、调用代码放在文章模板页内

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

表示是取所有栏目内的相关文章(与当前文章的关键字相关),标题长度最大32,最多显示10条,不显示缩略图

或者这样写:

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

可以找到标题里,含有“高三 语文”,或者含有“高三”或“语文”的文章。有兴趣的朋友可以自己动手看看效果,多动手进步才能快。

以上就是织梦模板小白讲堂二十四:织梦模板相关文章怎么才能真正相关的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持错新网。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表