在dedecms文章页中我们经常会显示相关文章之类的文章列表,就需要使用{dede:likearticle}标签,但是默认的likearticle是不能显示自定义的附加字段的。 解决办法 打开 include/
在dedecms文章页中我们经常会显示相关文章之类的文章列表,就需要使用{dede:likearticle}标签,但是默认的likearticle是不能显示自定义的附加字段的。
 
解决办法
 
打开 include/taglib/likearticle.lib.php 找到
 
1if($keyword != '')

 
在它的上面加入

01//获得附加表的相关信息02$addField = "";03$addJoin = "";04if(is_object($refObj->ChannelUnit))05{06    $addtable  = $refObj->ChannelUnit->ChannelInfos['addtable'];07    if($addtable!="")08    {09        $addJoin = " LEFT JOIN $addtable ON arc.id = ".$addtable.".aid ";10        $addField = "";11        $fields = explode(",",$refObj->ChannelUnit->ChannelInfos['listfields']);12        foreach($fields as $k=>$v)13        {14            $nfields[$v] = $k;15        }16        foreach($refObj->ChannelUnit->ChannelFields as $k=>$arr)17        {18            if(isset($nfields[$k]))19            {20                if(!empty($arr['rename']))21                {22                    $addField .= ",".$addtable.".".$k." as ".$arr['rename'];23                }24                else25                {26                    $addField .= ",".$addtable.".".$k;27                }28            }29        }30    }31}
 
继续搜索
 
1tp.sitepath
 
改成
 
1tp.sitepath $addField
 
有2处,都要修改,然后继续搜索
 
1arc.typeid=tp.id
 
改成
 
1arc.typeid=tp.id $addJoin
 
有2处,都要需改
 
模板中dede:likearticle调用自定义字段标签写法

1{dede:likearticle row='10' col='' titlelen='100' infolen='200'}2<a href="[field:arcurl/]">[field:title/]</a>3<p>价格:¥[field:jiage/]</p>4{/dede:likearticle}
 
柳林园资源网 本站不存储任何资源文件,敬请周知!
柳林园资源网 » 织梦likearticle相关文档标签调用附加自定义字段
标签:

常见问题FAQ

评论

发表评论