在使用DedeCMS构建网站时,首页调用图片集中的多张图片是一个常见的需求。本文将详细介绍如何通过修改代码实现这一功能,帮助您更灵活地展示图片内容。
首先,需要对DedeCMS的系统文件进行修改。打开include/common.inc.php文件,并添加以下代码:
function Getimg($aid,$imgwith,$imgheight){
global $dsql;
$imgurls = '';
$row = $dsql->getone("select imgurls from dede_addonimages where aid='$aid'");
$imgurls= $row['imgurls']; // 获取字段数据
preg_match_all("/\\\\}.+jpg/", $imgurls, $matches); // 取出符合条件的
$new_arr = array_unique($matches[0]); // 去除数组中重复的值
$pic_num1 = " 
";
foreach ($new_arr as $key){
$pic_list .= "
";
}
$pic_end = "
";
return $pic_num1.$pic_list.$pic_end; // 返回结果
}
上述代码的作用是从数据库中提取指定文章ID($aid)对应的图片集,并生成HTML代码以便在页面上显示这些图片。
接下来,我们来看一下如何在不同的页面调用这些图片。
一、DedeCMS网站首页和列表页中的调用方法
在首页或列表页中,可以通过dede:arclist标签或者dede:list标签来调用图片集中的多张图片:
[field:id function="Getimg(@me,80,80,7)" /]
其中,80和80分别表示图片的宽度和高度,7表示要调用的图片数量。如果省略这些参数,则默认宽度为110,高度为110,并且调用所有图片。
如果有多个图片集,可以加上图片集的类目ID:
[field:id typeid='' function="Getimg(@me,80,80,7)" /]
二、DedeCMS文章内页调用图片集多张图片的方法
在文章内页中,可以使用以下代码调用图片集中的多张图片:
{dede:field.id function="Getimg(@me,80,80,7)" /}
同样地,如果有多个图片集,可以加上图片集的类目ID:
{dede:field.id typeid='' function="Getimg(@me,80,80,7)" /}
以上参数的意义与前面相同:80和80分别是图片的宽度和高度,7是调用的图片数量。
通过以上方法,您可以轻松实现DedeCMS首页、列表页以及文章内页中图片集的多张图片调用功能。希望本文的内容能对您有所帮助,使您更加熟练地掌握DedeCMS的使用技巧。