-
LED顯示屏中英雙外貿類網...
-
灶具電器設備類網站織夢...
-
農業機械設備類網站織夢...
-
中藥藥材百科資訊類網站...
-
園林綠化景觀建設類網站...
-
辦公學習教程資訊類網站...
-
水性工業漆類企業網站織...
-
園林景觀設計類網站織夢...
-
水上樂園設備類網站織夢...
-
環保電動掃地車類網站織...
-
攝影拍攝短視頻類網站織...
-
車輛機油工業潤滑油類網...
-
潮流資訊信息類網站織夢...
-
網站建設營銷類網站織夢...
-
APP應用程序官網類網站織...
-
企業公司行業通用類網站...
-
汽車配件類網站織夢模板...
-
新媒體自媒體運營資訊類...
-
道路護欄交通設施類網站...
-
環保設備研發制造類網站...
在dedecms文章頁中我們經常會顯示相關文章之類的文章列表,就需要使用{dede:likearticle}標簽,但是默認的likearticle是不能顯示自定義的附加字段的。
- 第一種解決方法
打開 /include/extend.func.php ,在最下面新建一行,插入
if(!function_exists('GetAddField')){function GetAddField($aid,$addField){global $dsql;$row = $dsql->GetOne("SELECT c.addtable FROM dede_archives AS a LEFT JOIN dede_channeltype AS c ON a.channel=c.id where a.id='$aid'");$addtable = trim($row['addtable']);$row = $dsql->GetOne("SELECT $addField FROM `$addtable` WHERE aid=$aid");return $row["$addField"];}}
如圖所示

模板中dede:likearticle調用自定義字段標簽寫法
{dede:likearticle row='10' col='' titlelen='100' infolen='200'}<a href="[field:arcurl/]">[field:title/]</a><p>價格:¥[field:id function=GetAddField(@me,'jiage')/]</p>{/dede: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}




