muban大师 发表于 2020-6-2 11:45:45

织梦likearticle相关文档标签调用附加自定义字段

在dedecms文章页中我们经常会显示相关文章之类的文章列表,就需要使用{dede:likearticle}标签,但是默认的likearticle是不能显示自定义的附加字段的。
       
        解决办法
       
        打开 include/taglib/likearticle.lib.php 找到
       
        1
        if($keyword != '')
       
       
        在它的上面加入
       
        01
        //获得附加表的相关信息
        $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;
                      }
                    }
                }
          }
        }
       
       
        继续搜索
       
        1
        tp.sitepath
       
       
        改成
       
        1
        tp.sitepath $addField
       
       
        有2处,都要修改,然后继续搜索
       
        1
        arc.typeid=tp.id
       
       
        改成
       
        1
        arc.typeid=tp.id $addJoin
       
       
        有2处,都要需改
       
        模板中dede:likearticle调用自定义字段标签写法
       
        1
        {dede:likearticle row='10' col='' titlelen='100' infolen='200'}
       
        价格:¥

        {/dede:likearticle}
页: [1]
查看完整版本: 织梦likearticle相关文档标签调用附加自定义字段