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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索