找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1141|回复: 0

[分享] 织梦dedecms获取图片集多张图片及注释的方法(循环输出)

[复制链接]
发表于 2018-3-2 13:42:54 | 显示全部楼层 |阅读模式 来自 河南省郑州市
在为客户做网站的时候需要做到的效果是每个案例都要很多图片,并且用一定的效果进行展示。但是发现织梦本身自带的调取方法实现的效果是一次性调取多个参数,并且展现的效果不是我需要的,当时很纠结。后来自己琢磨琢磨,可惜没成功。最后通过网络百度搜索找到了实现方法。

实现效果如图:

141105326060-25P1.jpg

实现的方法一共有两个步骤:
1、在/include/common.func.php 里加上方法 //循环输出多张图片function
  1. function Getimgs($aid, $imgwith = 300, $imgheight = 270, $num = 0, $style = ''){
  2.     global $dsql;
  3.     $imgurls = '';
  4.      $row = $dsql -> getone("Select imgurls From`dede_addonimages` where aid='$aid'"); //
  5.      $imgurls = $row['imgurls'];
  6.      preg_match_all("/{dede:img (.*)}(.*){\/dede:img/isU", $imgurls, $wordcount);
  7.      $count = count($wordcount[2]);
  8.      if ($num > $count || $num == 0){
  9.         $num = $count;
  10.     }
  11.    
  12.     for($i = 0;$i < $num;$i++){
  13.         if($style == 'li'){
  14.             $imglist .= "<li><ahref=#" . $i . "><imgsrc=". trim($wordcount[2][$i]) . " width=" . $imgwith . " height=" . $imgheight . "></li></a>";
  15.         }else{
  16.             $imglist .= "<img src= " . trim($wordcount[2][$i]) . " width=" . $imgwith . "height=" . $imgheight . ">";
  17.         }
  18.     }
  19.      return $imglist;
  20.      }
复制代码



2、在模板里调用方法{dede:field.id function="Getimgs(@me,400,400,10)" /}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
注释:<img src= " . trim($wordcount[2][$i]) . " width=" . $imgwith . "height=" . $imgheight . ">"是调取出来的格式,可根据自己需要的样式进行定义,比如加个li或者 添加class等等,这里就不多讲了。
原文出自
http://blog.sina.com.cn/s/blog_458e0a9401015d4d.html


希望这篇文章对大家有帮助,如果有错误,5k欢迎大家多多定评指出噢。交流才会进步!



以下方法是调取图片集多张图片注释的方法,操作类似。
1,在/include/common.func.php 里加上
  1. //循环输出多张图片注释
  2. function Getimgnote($aid, $num = 0){
  3.     global $dsql;
  4.     $imgurls = '';
  5.      $row = $dsql -> getone("Select imgurls ` where aid='$aid'"); //
  6.      $imgurls = $row['imgurls'];
  7.      preg_match_all("|text='(.*)' width|U", $imgurls, $wordcount);
  8.      $count = count($wordcount[1]);
  9.      if ($num > $count || $num == 0){
  10.         $num = $count;
  11.     }
  12.     for($i = 0;$i < $num;$i++){
  13.         if($style == 'li'){
  14.             $imglist .= "<li><ahref=#" . $i . "><imgsrc=". trim($wordcount[1][$i]) . " width=" . $imgwith . " height=" . $imgheight . "></li></a>";
  15.         }else{
  16.             $imglist .= "<div class="gr">". trim($wordcount[1][$i]) ."</div>";
  17.         }
  18.     }
  19.      return $imglist;
  20.      }
复制代码


2、在模板里调用方法{dede:field.id function="Getimgnote(@me,10)" /}

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-5-28 02:47 , Processed in 0.046914 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表