• 网站认证
  • 教程:5,044|
  • 话题:4001|
  • 评论:45|
  • 会员:177|
  • 注册
  • 查看作者
  • 如何让dede(织梦)图集列表页调用多图

    Dede系统经常被应用于各种网站搭建的内核部分。尤其是各种企业网站,图片站最多,对于以上网站,有时候就需要结合页面效果,从列表页面展示图集里头的各种图片。
    织梦系统默认的图集是不支持在列表页内调用图片,我们需要借助preg_match_all函数来让dede可以支持一个新的标签调用。
    从include/common.func.php添加一个调用函数

    //dede列表页输出多张图片
    functionlistimgs($aid,$imgwith=500,$imgheight=300,$num=0,$style=''){
    global$dsql;
    $imgurls='';
    $row=$dsql->getone("SelectimgurlsFrom`dede_addonimages`whereaid='$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.="<imgsrc=".trim($wordcount[2][$i])."width=".$imgwith."height=".$imgheight.">";
    }
    }
    return$imglist;
    }

    保存后,在图集列表页{dede:list}之间使用[field:idfunction="listimgs(@me,100,100,9)"/],如:

    {dede:listpagesize='25'}
    [field:idfunction="listimgs(@me,70,100,9)"/]
    {/dede:list}

    如在其他地方调用该标签,就用:{dede:field.idfunction="listimgs(@me,200,160,10)"/}
    (@me,200,160,10)参数为,200宽度,160高度,图片调用张数,末尾可以加上“,li”的参数,使图片循环带li标签。

  • 0
  • 0
  • 0
  • 612
  • 请登录之后再进行评论

    登录
  • 做任务
  • 实时动态
  • 偏好设置
  • 自定义-1
  • 单栏布局 侧栏位置: