时间:2021-07-21人气:-
在Dedecms文章页中我们经常会显示相关文章之类的文章列表,就需要使用{dede:likearticle}标签,但是默认的likearticle是不能显示自定义的附加字段的。
解决办法
打开include/taglib/likearticle.lib.php找到
1if($keyword!='')在它的上面加入
12345678910111213141516171819202122232425262728293031//获得附加表的相关信息$addField="";$addJoin="";if(is_object($refObj->ChannelUnit)){$addtable=$refObj->ChannelUnit->ChannelInfos['addtable'];if($addtable!=""){$addJoin="LEFTJOIN$addtableONarc.id=".$addtable.".aid";$addField="";$fields=explode(",",$refObj->ChannelUnit->ChannelInfos['listfields']);foreach($fieldsas$k=>$v){$nfields[$v]=$k;}foreach($refObj->ChannelUnit->ChannelFieldsas$k=>$arr){if(isset($nfields[$k])){if(!empty($arr['rename'])){$addField.=",".$addtable.".".$k."as".$arr['rename'];}else{$addField.=",".$addtable.".".$k;}}}}}继续搜索
1tp.sitepath改成
1tp.sitepath$addField有2处,都要修改
继续搜索
1arc.typeid=tp.id改成
1arc.typeid=tp.id$addJoin有2处,都要需改
模板中调用自定义字段
1234{dede:likearticlerow='10'col=''titlelen='100'infolen='200'}<ahref="[field:arcurl/]">[field:title/]</a><p>价格:¥[field:jiage/]</p>{/dede:likearticle}