首页  »  站长资讯  »  网站优化

dedecms织梦相关文章标签likearticle调用自定义字段

2023/03/11 12:22     创新屋收录网     已浏览340次
在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 row='10' col='' titlelen='100' infolen='200'}

[field:title/]

价格:¥[field:jiage/]



{/dede:likearticle}