DedeCMS 5.1 版缩略图怎么修改

来源:undefined 2025-01-01 09:03:06 1003

dedecms 5.1 版缩略图怎么修改?

以前曾收录过这篇文章[Dedecms生成漂亮整齐的缩略图],我做了下尝试,生成缩略图的时候还是会有问题。今天看到这个文章,做个补充。

推荐学习:织梦cms

勾选 “提取第一张图片为缩略图” 实际是将第一张图当作缩略图 并没有生成带"_lit"的小图 

修改文件:dedectionrticle_add_action.php 

先看原代码 

代码如下:

1

2

3

4

//自动获取缩略图 

if($autolitpic==1 && $litpic==){ 

$litpic = GetDDImgFromBody($body); 

}

登录后复制

大概意思应该就是“缩略图=获取图像从主题内容” 

也就是上面说的实际是第一张原图 这就是问题所在 

参考了4.X里提取缩略图代码,更改为: 

1

2

3

4

5

6

7

8

9

//自动获取缩略图-改 

if($autolitpic==1 && $litpic==){ 

$cfg_medias_dir = str_replace(/,/,$cfg_medias_dir); 

$picname = preg_replace("/.+?".$cfg_medias_dir."(.*)( |"|).*$/isU",$cfg_medias_dir."$1",$body); 

if(eregi(".(jpg|gif|png)$",$picname)){ 

if(ereg("_lit.",$picname)) $litpic = $picname; 

else $litpic = GetDDImage(ddfirst,$picname,0); 

}

登录后复制

同理dedectionrticle_eidt_action.php更改为: 

代码如下:

1

2

3

4

5

6

7

8

9

//自动获取缩略图-改 

if($autolitpic==1 && empty($litpic)){ 

$cfg_medias_dir = str_replace(/,/,$cfg_medias_dir); 

$picname = preg_replace("/.+?".$cfg_medias_dir."(.*)( |"|).*$/isU",$cfg_medias_dir."$1",$body); 

if(eregi(".(jpg|gif|png)$",$picname)){ 

if(ereg("_lit.",$picname)) $litpic = $picname; 

else $litpic = GetDDImage(ddfirst,$picname,0); 

}

登录后复制

然后将这两个文件 复制覆盖到dede下。 

OK!这样就能打到勾选“提取第一张...”生成缩略图的目的了。 

缩略图变形 参考[Dedecms生成漂亮整齐的缩略图] 

需修改文件:includeinc_photograph.php 

找到:($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH); 共三处。 

改为:($ni,$im,0,0,$src_X,$src_Y,$ftoW,$ftoH,$srcW,$srcH); 

修改了缩图函数,就能在原图中截取居中的、最大面积的符合自定义缩略图长宽比列的一部分生成缩略图。

以上就是DedeCMS 5.1 版缩略图怎么修改的详细内容,更多请关注php中文网其它相关文章!

最新文章