织梦(dedecms)arclist及list列表调用多张图片的方法
我们平常看到的列表页都是默认调用文章的一张缩略图,那么,如何实现让列表可以调用多张文章的图片呢?
最终实现效果:
操作步骤一:include/extend.func.php 增加函数
// 获取图集第一幅图片[新增的功能] function Getfirstimg($aid){ global $cfg_basedir; global $dsql; $imglist = ”; $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++){ $imglist .= “” . trim($wordcount[2][$i]) . “”; } $firstimg = substr($imglist,0,stripos($imglist,’.jpg’)); if($firstimg !==”)return $firstimg . ‘.jpg’; else{ $firstimg = substr($imglist,0,stripos($imglist,’.png’)); return $firstimg . ‘.png’; } } function getBodypics($string, $num) { preg_match_all(“/<img([^>]*)\s*src=(‘|\”)([^’\”]+)(‘|\”)/”,$string,$matches); $imgsrc_arr = array_unique($matches[3]); $count = count($imgsrc_arr); $i = 0; foreach($imgsrc_arr as $imgsrc) { if($i == $num) break; $result .= ‘<p><img src=”‘.$imgsrc.'” class=”thumb thumbimgsrc”/></p>’; $i++; } return $result; }
操作步骤二:到网站后台-内容模型管理,修改普通文章模型附加列表字段增加body
操作步骤三:标签调用方法:
{dede:list pagesize=”10″ addfields=”body”}
[field:body function=getBodypics(@me,8)/]
{/dede:list}
注释:8 为图片集数量