织梦cms系统likearticle调用附加自定义字段

织梦技巧

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}

标签:
吃喝网尾部