DedeCms织梦二次开发网-Dede织梦工场-DedeCms教程-Dede二次开发-DedeCms二次开发-Dede模块开发-Dede插件开发-Dede标签开发DedeCms织梦二次开发网

DedeCms织梦likearticle调用附加字段

摘要:在DedeCms文章页中我们经常会显示相关文章之类的文章列表,就需要使用{dede:likearticle}标签,但是默认的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}

DedeCMS织梦工场QQ群

群号(23871657) DedeCMS织梦工场
只适用于讨论dedecms二次开发相关话题,其他闲聊、广告、斗图、捣乱请自重自觉,谢谢合作!

不忘初心 、方得始终

DedeCMS织梦工场 - 致力于把最实用的DedeCms二次开发教程,DedeCms二次开发视频,DedeCms二次开发实例经验,分享给最需要的站长,希望每一位来访的站长都能有所收获!

如果您认为本网站的内容质量不错或者读后成功解决你心中的难题,觉得收获很大,那么不妨小额赞助一下,让我们有动力继续写出高质量的教程与更棒的程序教程。打赏记录

赞助方式

donate_zhifubao 支付宝手机客户端扫描上面的二维码进行赞助

donate_weixin 微信手机客户端扫描上面的二维码进行赞助

来源:DedeCms织梦工场 » DedeCms织梦likearticle调用附加字段
据说喜欢分享的,后来都成了大神: 更多