首页 > 网站建设 > 织梦教程 > 织梦CMS教程:相关文档标签(likearticle)实现关联整站文档的实现方法
2014
11-15

织梦CMS教程:相关文档标签(likearticle)实现关联整站文档的实现方法

注意:本教程适用于
DedeCMS V5.3,V5.5,V5.6

默认情况下,相关文档(likearticle)的关联,在只能调用当前栏目(包括顶级栏目下的下级栏目)的文档,那么我们如何来实现关联网站的所有文档
呢?

我们知道,从DedeV5.3版本开始,所有的标签源码都是独立的,我们只需要修改标签源码就可以实现这个功能了。

1)实现方法 打开\include\taglib\likearticle.lib.php文件,找到如下代码:

以下为引用的内容:

  1. if(!emptyempty($refObj->Typelink->TypeInfos[‘reid’]))
    {
  2. $typeid =
    $refObj->Typelink->TypeInfos[‘reid’];
  3. }

将其替换为如下代码:

以下为引用的内容:

  1. if($typeid == ‘0’){
  2. $typeid = ”;
  3. }
  4. else if(!emptyempty($refObj->Typelink->TypeInfos[‘reid’]))
    {
  5. $typeid = $refObj->Typelink->TypeInfos[‘reid’];
  6. }

保存后即可。

通过这样的修改以后,相关文档的调用就会默认索引所有的文档了。

这里需要给大家纠正一下,在相关文档标签里,限制调用栏目的参数为 mytypeid 而不是 typeid,希望大家要注意。

2)代码解释 我们增加的实际核心代码为:

以下为引用的内容:

  1. if($typeid == ‘0’){
  2. $typeid = ”;

它的意思是,如果typeid传来的值等于0,那么就将变量$typeid为空。而索引$typeid变量是在下面SQL语句里:

以下为引用的内容:

  1. Select
    arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
  2. tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
  3. from `dede_archives` arc left join `dede_arctype` tp on
    arc.typeid=tp.id
  4. where arc.arcrank>-1 and ($keyword) $typeid $orderquery limit
    0, $row

而这里的$typeid变量也是在上一行的 $typeid = ” And arc.typeid in($typeid)
And arc.id<>$arcid “; 中进行赋值。那么我们将这个$typeid
变量是事先就判断并赋值为空以后,一切的问题就自燃迎刃而解了。

最后编辑:
作者:xindao
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。