织梦dedecms调用一个字段中任意图片的办法

温馨提示:DedeCMS用户请及时前往织梦官网处理官方版权事宜。

我们在使用织梦cms建站的时候,需要调用案例描述中任意一张图片,比如我们新建了个内容模型为dede_addoncase,模型中有一个anlsm字段,保存的是多图,要调用这个字段任意图片要怎么办呢?

打开include/extend.func.php文件,在最下面加入代码

//取第一张图片
function GetFirstImg($arcid){
    global $dsql;
    $query= "SELECT anlsm FROM `dede_addoncase` where aid='$arcid'";
    $row = $dsql->GetOne($query);
    $preg = "/<img.*?src=[\'\"](.+?)[\'\"].*?>/i";
    preg_match_all($preg, $row['anlsm'], $match);
    return $match[1][0];
}

再打开/include/taglib/arclist.lib.php文件

找到

$row['fulltitle'] = $row['title'];

在它下面加入

$row['firstimgurl'] = GetFirstImg($row['id']);

调用标签:

<img src="[field:firstimgurl /]" />

调用自定义字段中的第二张、第三张图片方法

打开include/extend.func.php文件

在最下面加入代码:

//取第二张图片:
function GetFirstImg($arcid){
    global $dsql;
    $query= "SELECT anlsm FROM `dede_addoncase` where aid='$arcid'";
    $row = $dsql->GetOne($query);
    $preg = "/<img.*?src=[\'\"](.+?)[\'\"].*?>/i";
    preg_match_all($preg, $row['anlsm'], $match);
    return $match[1][1];
}
 
//取第三张图片:
function GetThirImg($arcid){
    global $dsql;
    $query= "SELECT anlsm FROM `dede_addoncase` where aid='$arcid'";
    $row = $dsql->GetOne($query);
    $preg = "/<img.*?src=[\'\"](.+?)[\'\"].*?>/i";
    preg_match_all($preg, $row['anlsm'], $match);
    return $match[1][2];
}

再打开/include/taglib/arclist.lib.php文件

找到

 $row['fulltitle'] = $row['title'];

在它下面加入

$row['secondimgurl'] = GetSecImg($row['id']);

$row['thirdimgurl'] = GetThirImg($row['id']);

调用标签

<img src="[field:secondimgurl/]"/>//第二张图片的调用

<img src="[field:thirdimgurl/]"/>//第三张图片的调用

本文属原创,转载请注明原文:https://www.zhimatong.com/jiaocheng/469.html

为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。

内容有用

相关阅读
关键词:

    联系
    顾问

    交流群 购物车
    账号登录

    没有账号?立即注册

    忘记密码

    登录即同意用户协议没有账号? 立即注册
    账号注册
    我已阅读并同意用户协议
    立即注册
    注册即同意用户协议已有账号? 立即登录
    找回密码

    操作步骤:邮箱验证->设置新密码

    注册即同意用户协议已有账号? 立即登录