在使用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)" /]

其中,8080分别表示图片的宽度和高度,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)" /}

以上参数的意义与前面相同:8080分别是图片的宽度和高度,7是调用的图片数量。


通过以上方法,您可以轻松实现DedeCMS首页、列表页以及文章内页中图片集的多张图片调用功能。希望本文的内容能对您有所帮助,使您更加熟练地掌握DedeCMS的使用技巧。