在dedecms文章页中我们经常会显示相关文章之类的文章列表,就需要使用{dede:likearticle}标签,但是默认的likearticle是不能显示自定义的附加字段的。
解决办法
打开 include/taglib/likearticle.lib.php 找到
if($keyword != '')
在它的上面加入
//获得附加表的相关信息 $addField = ""; $addJoin = ""; if(is_object($refObj->ChannelUnit)) { $addtable = $refObj->ChannelUnit->ChannelInfos['addtable']; if($addtable!="") { $addJoin = " LEFT JOIN $addtable ON arc.id = ".$addtable.".aid "; $addField = ""; $fields = explode(",",$refObj->ChannelUnit->ChannelInfos['listfields']); foreach($fields as $k=>$v) { $nfields[$v] = $k; } foreach($refObj->ChannelUnit->ChannelFields as $k=>$arr) { if(isset($nfields[$k])) { if(!empty($arr['rename'])) { $addField .= ",".$addtable.".".$k." as ".$arr['rename']; } else { $addField .= ",".$addtable.".".$k; } } } } }
继续搜索
tp.sitepath
改成
tp.sitepath $addField
有2处,都要修改,然后继续搜索
arc.typeid=tp.id
改成
arc.typeid=tp.id $addJoin
有2处,都要需改
模板中dede:likearticle调用自定义字段标签写法
{dede:likearticle row='10' col='' titlelen='100' infolen='200'} <a href="[field:arcurl/]">[field:title/]</a> <p>价格:¥[field:jiage/]</p> {/dede:likearticle}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。