-
网络品牌广告设计类网站...
-
家政服务保姆月嫂类网站...
-
新闻博客资讯类网站织梦...
-
仪器分析仪类网站织梦模...
-
茶几茶盘类网站织梦模板...
-
财经新闻资讯网类织梦模...
-
产品展示柜台类网站织梦...
-
中英双语窗帘门窗设计类...
-
汽车用品配件类网站织梦...
-
精工机械轴承加工类网站...
-
搬家搬迁公司类网站织梦...
-
物流快运速递类网站织梦...
-
鲜花商城购物类网站织梦...
-
仪器仪表科技公司类网站...
-
财富管理培训咨询类网站...
-
QQ个性空间日志资讯类网...
-
网站建设万词霸屏SEO优化...
-
装修设计类网站织梦模板...
-
防腐木材工程类网站织梦...
-
智能电子玩具类网站织梦...
在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}


