网页特效代码_站长素材站移动版

DeDecms教程

主页 > CMS教程 > DeDecms教程 >

dedecms织梦相关文章标签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 row='10' col='' titlelen='100' infolen='200'}
<a href="[field:arcurl/]">[field:title/]</a>
<p>价格:¥[field:jiage/]</p>
{/dede:likearticle}
 
(责任编辑:admin)

    468x60