这篇文章主要是介绍dede调用文章第一张图片的实现代码,需要的朋友可以参考下
需要进行两个操作
第一步,修改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']);
}
写判断了是为了再调用文章无图的时候仍可以选择缩略图显示。 织梦v57 sp1大概在475行,$row[]数组的下面加入即可。
这样亦可以用原来的标签字段调用图片。文章有第一张图片即显示第一个图片,如无则调用文章缩略图