织梦(dedecms)arclist及list列表调用多张图片的方法

我们平常看到的列表页都是默认调用文章的一张缩略图,那么,如何实现让列表可以调用多张文章的图片呢?

最终实现效果:

织梦(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

织梦(dedecms)arclist及list列表调用多张图片的方法

操作步骤三:标签调用方法:

{dede:list pagesize="10"  addfields="body"}

[field:body function=getBodypics(@me,8)/]

{/dede:list}  

注释:8 为图片集数量