织梦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/]"/>//第三张图片的调用


THE END

文章版权:作者:demo  来源:芝麻通  

免责声明:本站提供的一切软件、插件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

本文最后更新于 2022-08-12 13:14:08,如果你的问题还没有解决,可以加入建站交流群和群友们一起讨论。

评论区