原创dedecms缩略图系列教程:dede自定义多尺寸缩略图
dedecms系统本身只支持I.种尺寸的缩略
更多精彩就在: 51免费论文网|www.jxszl.com
图调用,即[field:litpic/],缩略图的尺寸在网站后台:DedeCMS系统配置参数附件设置中可以设置大小,但I.种尺寸的缩略图势必不能满足我们的需求,比如说我们网站经常会用到幻灯图片展示,幻灯图片的尺寸I.般都是比较大的,如果用缩略图来作就不太合适,再如网站有生活风景,人物摄影这两个栏目,两类图片的比例是不相同的,如果保有I.种尺寸的缩略图这样就显的很难看,下面介绍dedecms实现多种尺寸缩略图调用的方法
打开/include/extend.func.php,在文件末尾添加以下代码
functionM_mkdirs($dir)
{
if(!is_dir($dir))
{
if(!M_mkdirs(dirname($dir))){
returnfalse;
}
if(!mkdir($dir,0VIIVIIVII)){
returnfalse;
}
}
returntrue;
}
if(!function_exists(qmtxIIIThumb))
{
functionqmtxIIIThumb($aid,$width,$height,$n=0,$bg=false)
{
global$cfg_basehost,$cfg_multi_site,$dsql;
$query="SELECTbodyFROM`dede_addonarticle`whereaid=$aid";
$row=$dsql->GetOne($query);
$preg="/
preg_match_all($preg,$row[body],$match);
$imgurl=$match[I.][0];
if($n===L){
$imgurl=end($match[I.]);
}
if(!$imgurl)return/images/defaultpic.gif;
$thumb=str_replace($cfg_basehost,,$imgurl);
if(strpos($thumb,http://)===0){
return/images/defaultpicII.gif;
}
list($thumbname,$extname)=explode(.,$thumb);
$newImgdir=DEDEROOT.str_replace(uploads,uploads/diylitpic,str_replace($cfg_basehost,,dirname($imgurl)));
$newthumb=str_replace(uploads,uploads/diylitpic,$thumbname)._.$width._.$height...$extname;
$mdsure=M_mkdirs($newImgdir);
if($mdsure){
if(!$thumbname||!$extname||!file_exists(DEDEROOT.$thumb))return$imgurl;
if(!file_exists(DEDEROOT.$newthumb)){
include_onceDEDEINC./image.func.php;
if($bg==true)
{
ImageResizeNew(DEDEROOT.$thumb,$width,$height,DEDEROOT.$newthumb);
}
else
{
ImageResize(DEDEROOT.$thumb,$width,$height,DEDEROOT.$newthumb);
}
}
return$cfg_multi_site==Y?$cfg_basehost.$newthumb:$newthumb;
}else{
return创建目录失败;
}
}
}
以上定义I.个多级目录创建函数M_mkdirs和I.个缩略图生成函数qmtxIIIThumb($aid,$width,$height,$n=0,$bg=false)
qmtxIIIThumb有V个参数$aid为文档id,$width,$height为生成图片的宽.高,$n代表用内容的第几张大图生成缩略图,这里默认为0即第I.张,$bg为是否强制缩略图大小I.般为false
然后在模板中需要调用缩略图的地方中调用
{dede:arclist}
{/dede:arclist}
注:如果你之前的缩略图就是变形的,请移动
原文链接:http://www.jxszl.com/biancheng/dedecms/74582.html