DEDE在图集列表中调出图集的所有图片

时间:2021-10-08 09:02:12
在include/common.func.php 中添加以下函数代码 

复制代码
代码如下:

// 在图集列表中调出图集的所有图片 
function Getimgs($aid, $imgwith = 220, $imgheight = 80, $num = 0, $style = ''){ 
global $dsql; 
$imgurls = ''; 
$row = $dsql -> getone("Select * 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><a href=#" . $i . "><imgsrc=". trim($wordcount[2][$i]) . " width=" . $imgwith . " height=" . $imgheight . "></a></li>"; 
}else{ 
$imglist .= "<li><img class='lazy' src='../images/grey.gif' data-original=". trim($wordcount[2][$i])." width=" . $imgwith . " height=" . $imgheight . "></li>"; 
//此处用到了jquery的loadlazy延时加载插件。 


return $imglist; 

模板中 [field:id function="Getimgs(@me,220,80,90)" /] 

说明: 第一个参数 当前ID 第二个第三个, 图片尺寸。 第四个图片张数。 

也可以这样用 

复制代码
代码如下:

{dede:arclist row='3'} // row=3 调用三个图集 
[field:id function="Getimgs(@me,136,62,4)" /] //每个图集调用前4张 
{/dede:arclist}