资源下载 - 从此开始!

下载我_精品源码软件教程资源网

您的位置:主页 > 网络编程 > 正文

DedeCMS 5.1 版缩略图修改补充

2018-10-19 19:46 来源:互联网 编辑:admin

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

修改文件:\dede\action\article_add_action.php 
先看原代码 

复制代码
代码如下:

//自动获取缩略图 
if($autolitpic==1 && $litpic==''){ 
$litpic = GetDDImgFromBody($body); 

大概意思应该就是“缩略图=获取图像从主题内容” 
也就是上面说的实际是第一张原图 这就是问题所在 
参考了4.X里提取缩略图代码,更改为: 

复制代码
代码如下:

//自动获取缩略图-改 
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); 


同理\dede\action\article_eidt_action.php更改为: 


复制代码
代码如下:

//自动获取缩略图-改 
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生成漂亮整齐的缩略图] 
需修改文件:\include\inc_photograph.php 

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

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

打赏一下,我们会为大家提供更多优质资源!

相关文章,95%的人会看!{有内幕、有真相...}

看过本文的人还看过

关闭

微信扫一扫

站长微信账号