星联网络专注帝国CMS二次功能插件开发-精品网站模板站长代码素材

  • 最近更新
  • 模板:33
  • 记录:12641|
  • 插件:52|
  • 工具:4|
  • 代码:8|
  • 评论:0

织梦相关文章标签匹配tag、关键词、标题及调用全站相关文章方法

前言

本文主要讲解《织梦相关文章标签匹配ag、关键词、标题及调用全站相关文章方法》的详细内容

新版的织梦dedecms5.7相关文章标签有两个问题 1、相关文章文章调只调用当前栏目的,其他栏目的调用不到 2、只能匹配其他文章的标题(title),和关键词(keywords),没有去匹配其他文章tag 修改dedecms(5.7)likearticle.lib.php相关文章标签调用全站相关文章 打开likearticle.lib.php(请事先备份), 查找:$query = " 在其上方添加:$typeid = ' AND arc.id<>$arcid '; 注意有两处,AND arc.id<>$arcid这个的意思就是限制调用出来的相关文章不包含本文章,记的dedecms7.0之前没有做 这个限制-_-,这样就取消了相关文章匹配栏目的限制了。 dedecms相关文章调用tag、关键词(keywords)、标题(title)相同的文章 dedecms官方的相关文章标签并没有匹配tag相同的文章,他只是获取当前文章的tag和关键词(keywords)去匹配其他文章的标题(title)、关键词(keywords) 请看dede的源码片断 if(!empty($refObj->Fields['keywords'])) { $keywords = explode(',' , trim($refObj->Fields['keywords'])); $keyword = ''; $n = 1; foreach($keywords as $k) { if($n > 3) break; if(trim($k)=='') continue; else $k = addslashes($k); $keyword .= ($keyword=='' ? " CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' " : " OR CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' "); $n++; } } $arcid = (!empty($refObj->Fields['id']) ? $refObj->Fields['aid'] : 0); if( empty($arcid) || $byabs==0 ) { $orderquery = " ORDER BY arc.id desc "; } else { $orderquery = " ORDER BY ABS(arc.id - ".$arcid.") "; } if($keyword != '') { if(!empty($typeid)) { $typeid = " AND arc.typeid IN($typeid) AND arc.id<>$arcid "; } $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id where arc.arcrank>-1 AND ($keyword) $typeid $orderquery limit 0, $row"; } else { if(!empty($typeid)) { $typeid = " arc.typeid IN($typeid) AND arc.id<>$arcid "; } $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id WHERE arc.arcrank>-1 AND $typeid $orderquery limit 0, $row"; } 注意以上绿色内容就是一部分匹配条件 ,$keyword .= ($keyword=='' ? " CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' " : " OR CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' ");可以看出dedecms只CONCAT了keywords和title,没有做tag的处理 。

本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。

本文地址:http://www.xlkjgs.com/notes/web/7462.html

以上内容由本站整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

星联网络

星联网络是中国最具实战的互联网创业者的知识服务商,这里有互联网行业动态,网络推广,SEO优化,SEM优化,ESC配置,行业经验分型,互联网项目,微信营销、淘宝客赚钱、新媒体营销、京东运营、跨境电商等众多互联网营销知识分享

站长运营站长必备网站运营之道才能长久发展