• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DedeCMS列表页调用图集内容多张图片的方法
    POST TIME:2017-11-13 01:09

    新做一个以图片为主的网站,采用的DEDECMS图集,列表页要求直接调内容面的大图,解决方法如下:(主要是采用php的正则匹配函数preg_match_all函数来巩固复习下该函数:preg_match_all("正则表达式",匹配的内容,保存在数组中);保存在数组中的数据是 按照这样的格式进行保存的数组[0] 是 符合条件的 一条 语句;数组[1][2][3]...等等内容分别是正则表达式 第1、2、3个匹配符 所匹配的 数据preg_match_all 匹配出来的 该数组是三维数组也就是说数组[1]仍旧是一个数组)

    1、在include/common.func.php增加一函数

    ////循环输出多张图片

    function Getimgs($aid, $imgwith = 300, $imgheight = 270, $num = 0, $style = ''){
    global $dsql;
    $imgurls = '';
    $row = $dsql -> getone("Select imgurls From`dede_addonimages` where aid='$aid'"); //
    $imgurls = $row['imgurls'];
    preg_match_all("/{dede:img (.*)}(.*){/dede:img/isU", $imgurls, $wordcount);
    $count = count($wordcount[2]);
    if ($num > $count || $num == 0){
    $num = $count;
    }

    for($i = 0;$i < $num;$i++){
    if($style == 'li'){
    $imglist .= "<li><ahref=#" . $i . "><imgsrc=". trim($wordcount[2][$i]) . " width=" . $imgwith . " height=" . $imgheight . "></li></a>";
    }else{
    $imglist .= "<img src= " . trim($wordcount[2][$i]) . " width=" . $imgwith . "height=" . $imgheight . ">";
    }
    }
    return $imglist;
    }
    2、在列表页{dede:list}之间调用[field:id function="Getimgs(@me,80,80,9)" /],例如:
    {dede:list pagesize='12'}
    [field:id function="Getimgs(@me,80,80,9)" /]
    {/dede:list}
    如在其它地方调用,可用:{dede:field.id function="Getimgs(@me,400,400,10)" /}

    DedeCMS列表页调用图集内容多张图片的方法就是以上方法,赶快试试吧!

    
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!