首先,我们需要了解Dedecms默认的图集调用语法:
{dede:field name='imgurls'/}
接下来,我们将学习如何在Dedecms图集中调用当前文档的所有图片及其注释。
打开/include/common.func.php文件,在文件末尾添加以下代码:
// 循环输出图集全部图片及注释
function Getimgs($aid, $imgwith, $imgheight, $num){
global $dsql;
$imgurls = '';
$row = $dsql -> getone("Select * From `aier_addonimages` where aid='$aid'");
$imgurls = $row['imgurls'];
preg_match_all("/{dede:img (.*)}(.*){/dede:img/isU", $imgurls, $wordcount);
$textinfo = $wordcount[1];
$count = count($wordcount[2]);
if ($num > $count || $num == 0){$num = $count;}
for($i = 0;$i < $num;$i++){
$textinfoe = $textinfo[$i];
$textinfoee = explode(" ",$textinfoe);
$imglist .= "![".substr($textinfoee[1],6,-1)."](".trim($wordcount[2][$i]).")
";
}
return $imglist;
}
在首页调用时使用以下语法:
{dede:arclist typeid='' } [field:id function="Getimgs(@me,80,70,7)"/] {/dede:arclist}
在列表页调用时使用以下语法:
{dede:list} [field:id function="Getimgs(@me,80,70,7)"/] {/dede:list}
在内容页调用时使用以下语法:
{dede:field.id function="Getimgs(@me,80,70,7)"/}
解释上述代码中的参数:
- $imglist .= 后面的代码可以根据实际需求调整为适合您网站的HTML结构。
- 80代表图片宽度,70代表高度,7代表显示的图片数量。
- $imglist 是一个字符串拼接变量,您可以根据自己的需求进行修改。