加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

DedeCMS5.6内容页调用当前文章的相关文章

发布时间:2021-05-22 23:11:19 所属栏目:教程 来源:网络整理
导读:在使用dedecms5.6时发现如果在内容页面调用相关文章,简单的使用dedecms arclist不能够实现,但是arclist有一个字段keyword,如果把当前文章的keyword调用出来,就能够得到当前相关文章的列表.我的做法是对keyword附一个固定的值 {dede:arclist keyword='relatio

在使用dedecms5.6时发现如果在内容页面调用相关文章,简单的使用dedecms arclist不能够实现,但是arclist有一个字段keyword,如果把当前文章的keyword调用出来,就能够得到当前相关文章的列表.我的做法是对keyword附一个固定的值

{dede:arclist keyword='relation' row='5'}
                        <li><a href="[field:arcurl/]">[field:title/]</a></li>
                    {/dede:arclist}   

如果是在终端页面调用相关文章,就将keyword的值固定,其他的参数也都是可以用的,默认的keyword值是当前页面得关键字,有兴趣的可以去我网站看看 游戏联盟114 可以对比下面相关文章的关键字和当前页面得关键字

具体的实现方式是:
1.修改include/arc.archives.class.php找到MakeOneTag($this->dtp,$this,'N',$reltag);将其替换为

$reltag = explode(',',$this->Fields['keywords']);
        $reltag = $reltag[0];
        MakeOneTag($this->dtp,$reltag);

2.修改include/下的channelunit.func.php找到函数MakeOneTag函数 MakeOneTag(&$dtp,&$refObj,$parfield='Y')在函数的最后加上一个参数

MakeOneTag(&$dtp,$parfield='Y',$reltag)

仔细看下有什么区别吧

在函数中找到:

if(in_array($tagname,$alltags))
        {
            $filename = DEDEINC.'/taglib/'.$tagname.'.lib.php';
            include_once($filename);
            $funcname = 'lib_'.$tagname;
            $dtp->Assign($tagid,$funcname($ctag,$refObj));
        }

将其修改为:

if(in_array($tagname,$alltags))
        {
            $filename = DEDEINC.'/taglib/'.$tagname.'.lib.php';
            include_once($filename);
            $funcname = 'lib_'.$tagname;
            if($tagname == 'arclist'){
                foreach($ctag->CAttribute->Items as $key => $val){
                    if($key == 'keyword'){
                        if($val=='Relation'){
                           
                            $ctag->CAttribute->Items[$key]=$reltag;
                        }
                    }
                }
            }
            $dtp->Assign($tagid,$refObj));
        }

去生成静态吧,不要忘记了 keyword='relation'  relation 不要变哦,变了可就调不出来了

(编辑:厦门网)

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

    热点阅读