dede调用文章第一张图片(非缩略图)的实现方法

时间:2022-02-24 00:42:20
需要进行两个操作 

第一步,修改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[]数组的下面加入即可。 

这样亦可以用原来的标签字段调用图片。文章有第一张图片即显示第一个图片,如无则调用文章缩略图.