织梦dedecms如何调用第一张图片(非缩略图)

在一些特定的情况下,我们可能需要调用网站文章的第一张图片使用,那么怎么调用呢?请看下面步骤

  • 找到根目录下文件夹修改include/extend.func.php文件,文件底部插入函数,查询的是文章附加表,如需查询图片集什么的,改表名即可
function GetFirstImg($arcid){
    global $dsql;
    $query= "SELECT body FROM `dede_addonarticle` where aid='$arcid'";
    $row = $dsql->GetOne($query);
    $preg = "/<img.*?src=[\'\"](.+?)[\'\"].*?>/i";
    preg_match_all($preg, $row['body'], $match);
    //print_r($match);
    return $match[1][0];
}
  • 调用标签include/taglib/arclist.lib.php

织梦调用文章内容的时候需用用到litpic字段,需要重新构造此字段,找到 function lib_arclistDone()函数里面的 $row[litpic],增加 //调用文章第一张图片,非缩略图,如果为空,则调用缩略图。

if(GetFirstImg($row['id'])!="")
{
    $row['litpic']=GetFirstImg($row['id']);
}

以上是写判断是为了再调用文章无图的时候仍可以选择缩略图显示,查看织梦v5 sp1版本大概是在第475行,$row[]数组的下面加入即可。

这样的话即可以用原来的标签字段调用图片。即文章有*张图片即显示*个图片,如过没有则调用网站文章的缩略图使用

发表评论

后才能评论