在使用Dedecms进行网站开发时,有时需要在首页或列表页调用图集,并自定义输出几张图片,同时避免修改官方核心文件。以下是实现这一功能的详细步骤和代码示例。 首先,打开 `\\\\include\\\\extend.func.php` 文件,在文件的最底部添加以下方法。


function Getimgurls($aid,$num=4)    
{
    global $dsql;
    $imgurls = $result = '';
    $imgrow = $dsql->GetOne( "Select imgurls From `mydiy_addonimages` where aid='$aid' ");
    $imgurls = $imgrow['imgurls'];
    if($imgurls != '')
    {
        $dtp = new DedeTagParse();
        $dtp->LoadSource($imgurls);
        $images = array();
        if(is_array($dtp->CTags))
        {
            foreach($dtp->CTags as $ctag)
            {
                if($ctag->GetName() == 'img')
                {
                    $row = array();
                    $row['width'] = $ctag->GetAtt('width');
                    $row['height'] = $ctag->GetAtt('height');
                    $row['imgsrc'] = trim($ctag->GetInnerText());
                    $row['text'] = $ctag->GetAtt('text');
                    $images[] = $row;
                }
            }
        }
        $dtp->Clear();
        $i = 0;
        foreach($images as $row)
        {
            if($i == $num) break;
            if($row['imgsrc'] != '')
            {
                $result .= "
  • "; } $i++; } return $result; } }
    请注意,上述代码中的 `
  • ` 标签及其内容可以根据您的页面布局需求进行调整。例如:

    
    
  • 完成以上步骤后,在前台模板(如首页或列表页)中调用该函数即可。调用代码如下:

    
    [field:id function=Getimgurls(@me,5)/]
        
    这里的数字 `5` 表示从图集中调用 5 张图片。您可以根据实际需求更改此数字以控制输出的图片数量。 通过以上步骤,您可以在不改动 Dedecms 核心文件的情况下,成功实现图集在首页或列表页的自定义调用与输出。这种方法不仅灵活,而且便于后期维护。