DedeCMS织梦

织梦DedeCMS调用相关文章排除当前文章

阿里云

我们发表一篇文章时,一般情况下为了增加用户的停留时间,都会在文章的末尾或者恰当的位置调用跟本文相关的文章,以赢得用户的再次点击,在织梦 dedecms(V5.7 版)调用相似文章中,实用的调用代码为{dede:likearticle},这个代码的原理是通过识别文章的标题、类目、关键词等来判断相似度,从而进行推荐,后台调用代码如下/include/taglib/likearticle.lib.php,打开文件找到下面这段代码:

  1.     if($keyword != '')
  2.         {
  3.                  if(!empty($typeid)) {
  4.  
  5.                          $typeid ="AND arc.typeid IN($typeid) AND arc.id<>'$aid' ";
  6.  
  7.                  }
  8.                  $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
  9.        tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
  10.  
  11.                       FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
  12.  
  13.                       where arc.arcrank>-1 AND ($keyword) $typeid $orderquery limit 0, $row";
  14.  
  15.         }
  16.  
  17.         else
  18.  
  19.         {
  20.  
  21.                 if(!empty($typeid)) {
  22.  
  23.                         $typeid = " arc.typeid IN($typeid) AND arc.id<>'$aid' ";
  24.  
  25.                 }
  26.  
  27.                 $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
  28.  
  29.                       FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
  30.  
  31.                      WHERE arc.arcrank>-1 AND $typeid $orderquery limit 0, $row";
  32.  
  33.         }
也想出现在这里?联系我们
创客主机

从上面的代码可以看到,织梦 dedecms 为了排除本文在程序一开头就试图过滤本文(ANDarc.id<>’$aid’ “),但是没成功,那怎么才能成功排除当前文章呢?很简单,我们在这段代码:AND($keyword)$typeid 重新排除一次就可以,两段代码都要加,改完之后如下(注意看绿色加粗代码的地方有什么不同):

  1.     if($keyword != '')
  2.  
  3.         {
  4.  
  5.                  if(!empty($typeid)) {
  6.  
  7.                          $typeid ="AND arc.typeid IN($typeid) AND arc.id<>'$aid' ";
  8.  
  9.                  }
  10.  
  11.                  $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
  12.  
  13.                       tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
  14.  
  15.                       FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
  16.  
  17.                       where arc.arcrank>-1 AND ($keyword) $typeid AND arc.id<>'$aid' $orderquery limit 0, $row";
  18.  
  19.         }
  20.  
  21.         else
  22.  
  23.         {
  24.  
  25.                 if(!empty($typeid)) {
  26.  
  27.                         $typeid = " arc.typeid IN($typeid) AND arc.id<>'$aid' ";
  28.  
  29.                 }
  30.  
  31.                 $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
  32.  
  33.                       tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
  34.  
  35.                       FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
  36.  
  37.                      WHERE arc.arcrank>-1 AND $typeid AND arc.id<>'$aid' $orderquery limit 0, $row";
  38.  
  39.         }

到此,大功告成。

织梦 DedeCMS 调用相关文章排除当前文章

已有 535 人购买
查看演示升级 VIP立刻购买

收藏
(1)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!