众所周知,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); //}
好了大功告成!
新闻热点
疑难解答