加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

likearticle实现关联网站的所有文档的方法

发布时间:2020-12-14 04:17:43 所属栏目:Dedecms 来源:网络整理
导读:为了增加网站的用户粘度,留住客户,我们采用各种手法,增加网站的粘度,比如在文档下方添加“相关文章”栏目, 我们知道织梦DEDECMS可以通过likearticle标签的调用来实现,但我们发现在使用likearticle标签在实现文档关联时, 只能调用当前栏目(包括顶级栏
为了增加网站的用户粘度,留住客户,我们采用各种手法,增加网站的粘度,比如在文档下方添加“相关文章”栏目,
我们知道织梦DEDECMS可以通过likearticle标签的调用来实现,但我们发现在使用likearticle标签在实现文档关联时,
只能调用当前栏目(包括顶级栏目下的下级栏目)的文档,那么我们如何来实现关联网站的所有文档呢?
我们知道,从DedeV5.3版本开始,所有的标签源码都是独立的,我们只需要修改标签源码就可以实现这个功能了。
?
一、实现方法
打开includetagliblikearticle.lib.php文件,找到如下代码:
?
if(!emptyempty($refObj->Typelink->TypeInfos['reid'])) { ??
?
$typeid = $refObj->Typelink->TypeInfos['reid'];
?
} ?
?
将其替换为如下代码:
?
if($typeid == '0'){ ??
?
?$typeid = ''; ?
?
} ??
?
else if(!emptyempty($refObj->Typelink->TypeInfos['reid'])) { ??
?
?$typeid = $refObj->Typelink->TypeInfos['reid']; ??
?
} ?
?
保存后即可。
?
通过这样的修改以后,相关文档的调用就会默认索引所有的文档了。
?
这里需要给大家纠正一下,在相关文档标签里,限制调用栏目的参数为 mytypeid 而不是 typeid,希望大家要注意。
?
二、代码解释
我们增加的实际核心代码为:
?
? ?if($typeid == '0'){
? ? $typeid = '';
? ?}
它的意思是,如果typeid传来的值等于0,那么就将变量$typeid为空。而索引$typeid变量是在下面SQL语句里:
?
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 ?
?
而这里的$typeid变量也是在上一行的 $typeid = " And arc.typeid in($typeid) And arc.id<>$arcid "; 中进行赋值。那么我们将这个$typeid 变量是事先就判断并赋值为空以后,一切的问题就自燃迎刃而解了。

上一篇:让DEDECMS的分类信息模块拥有置顶功能

下一篇:infolen参数对于description也有效解决方案

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读