織夢likearticle呼叫附加自定義欄位
阿新 • • 發佈:2018-11-03
在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}