织梦likearticle相关文档标签调用附加自定义字段

在dedecms文章页中我们经常会显示相关文章之类的文章列表,就需要使用{dede:likearticle}标签,但是默认的likearticle是不能显示自定义的附加字段的。

 

解决办法
 

打开 include/taglib/likearticle.lib.php 找到

 

1 if($keyword != '')  

 

在它的上面加入


01 //获得附加表的相关信息 02 $addField = ""; 03 $addJoin = ""; 04 if(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 else 25 { 26 $addField .= ",".$addtable.".".$k; 27 } 28 } 29 } 30 } 31 }  

 

继续搜索
 

1 tp.sitepath  

 

改成
 

1 tp.sitepath $addField  

 

有2处,都要修改,然后继续搜索
 

1 arc.typeid=tp.id  

 

改成
 

1 arc.typeid=tp.id $addJoin  

 

有2处,都要需改

 

模板中dede:likearticle调用自定义字段标签写法

1 {dede:likearticle row='10' col='' titlelen='100' infolen='200'} 2 <a href=http://www.dede58.com/"[field:arcurl/]">[field:title/]</a> 3 <p>价格:¥[field:jiage/]</p> 4 {/dede:likearticle}  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/792ab9d35eec54ef8c17aead3116575e.html