DedeCMS V5.6缩略图不加水印的处理方法

众所周知,DedeCMS后台“图片水印设置”里的“添加水印的图片大小控制”选项根本不起作用,导致缩略图也被加上水印,效果很难看,现在告诉你DedeCMS V5.6缩略图不加水印的方法技巧!

修改DedeCMS程序里的dede/inc/inc_archives_functi*****.php 文件 (dede为后台默认路径) 
查找到: 
//获取一个远程图片 
function GetRemoteImage($url,$uid=0) 

这个函数里面有一句: 
@WaterImg($rndtrueName, 'down'); 
修改成: 
//@WaterImg($rndtrueName, 'down'); 
再查找: 
//获得文章body里的外部资源 
function GetCurContent($body) 

global $cfg_multi_site,$cfg_basehost,$cfg_basedir,$cfg_image_dir; 

修改成: 
//获得文章body里的外部资源 

function GetCurContent($body) 
{ 
global $cfg_multi_site,$cfg_basehost,$cfg_basedir,$cfg_image_dir,$autolitpic,$litpic; 
$autolitpic = (empty($autolitpic) ? '' : $autolitpic); 


然后在这同一个函数里面查找到: 

$value = trim($value); 
$rndFileName = $imgPath.'/'.$milliSecondN.'-'.$key.$itype; 
$fileurl = $imgUrl.'/'.$milliSecondN.'-'.$key.$itype; 
$rs = $htd->SaveToBin($rndFileName); 



在其下面添加: 
//自动获取缩略图 

if($autolitpic==1 && $litpic=='') 
{ 
$litpic = GetDDImgFromBody($body); 
} 



最后一步: 
查找到: 
//处理HTML文本 
//删除非站外链接、自动摘要、自动获取缩略图 

function AnalyseHtmlBody($body,&$description,&$litpic,&$keywords,$dtype='') 
{ 
global $autolitpic,$remote,$dellink,$autokey,$cfg_basehost,$cfg_auot_description,$id,$title,$cfg_soft_lang; 
$autolitpic = (empty($autolitpic) ? '' : $autolitpic); 
$body = stripslashes($body); 
//远程图片本地化 
if($remote==1) 
{ 
$body = GetCurContent($body); 
} 
//删除非站内链接 
if($dellink==1) 
{ 
$basehost = "http://".$_SERVER['HTTP_HOST']; 
$body = str_replace($cfg_basehost,'#basehost#',$body); 
$body = str_replace($basehost,'#2basehost2#',$body); 
$body = preg_replace("/(]*)>)|(<\/a>)/isU","",$body); 
$body = str_replace('#basehost#',$cfg_basehost,$body); 
$body = str_replace('#2basehost2#',$basehost,$body); 
} 
//自动摘要 
if($description=='' && $cfg_auot_description>0) 
{ 
$description = cn_substr(html2text($body),$cfg_auot_description); 
$description = trim(preg_replace('/ 
/','',$description)); 
$description = addslashes($description); 
} 


在这个下面的: 
//自动获取缩略图 

if($autolitpic==1 && $litpic=='') 
{ 
$litpic = GetDDImgFromBody($body); 
} 



修改成: 

//自动获取缩略图 

//if($autolitpic==1 && $litpic=='') 
//{ 
//$litpic = GetDDImgFromBody($body); 
//} 


好了大功告成!