织梦调用相關文章时likearticle无法排除當前文章的解决方法
更多精彩就在: 51免费论文网|www.jxszl.com
似度,从而进行推荐,后台调用代码如下/include/taglib/likearticle.lib.php,打开文件找到下面这段代码:
if($keyword!=)
{
if(!empty($typeid)){
$typeid="ANDarc.typeidIN($typeid)ANDarc.id<>$aid";
}
$query="SELECTarc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
tp.nameruleII,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
FROM`dede_archives`arcLEFTJOIN`dede_arctype`tpONarc.typeid=tp.id
wherearc.arcrank>-I.AND($keyword)$typeid$orderquerylimit0,$row";
}
else
{
if(!empty($typeid)){
$typeid="arc.typeidIN($typeid)ANDarc.id<>$aid";
}
$query="SELECTarc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
tp.nameruleII,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
FROM`dede_archives`arcLEFTJOIN`dede_arctype`tpONarc.typeid=tp.id
WHEREarc.arcrank>-I.AND$typeid$orderquerylimit0,$row";
}
从上面的代码可以看到,织梦dedecms为了排除本文在程序I.开头就试图过滤本文(ANDarc.id<>$aid"),但是没成功,那怎么才能成功排除当前文章呢?很简单,我们在这段代码:AND($keyword)$typeid重新排除I.次就可以,两段代码都要加,改完之后如下(注意看绿色加粗代码的地方有什么不同):
if($keyword!=)
{
if(!empty($typeid)){
$typeid="ANDarc.typeidIN($typeid)ANDarc.id<>$aid";
}
$query="SELECTarc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
tp.nameruleII,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
FROM`dede_archives`arcLEFTJOIN`dede_arctype`tpONarc.typeid=tp.id
wherearc.arcrank>-I.AND($keyword)$typeidANDarc.id<>$aid$orderquerylimit0,$row";
}
else
{
if(!empty($typeid)){
$typeid="arc.typeidIN($typeid)ANDarc.id<>$aid";
}
$query="SELECTarc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
tp.nameruleII,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
FROM`dede_archives`arcLEFTJOIN`dede_arctype`tpONarc.typeid=tp.id
WHEREarc.arcrank>-I.AND$typeidANDarc.id<>$aid$orderquerylimit0,$row";
}
到此,大功告成,赶紧去试试吧.
原文链接:http://www.jxszl.com/biancheng/dedecms/76580.html