• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

DedeCMS 5.1 版缩略图怎么修改

武飞扬头像
PHP中文网
帮助10

学新通技术网

DedeCMS 5.1 版缩略图怎么修改?

勾选 “提取第一张图片为缩略图” 实际是将第一张图当作缩略图 并没有生成带"_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);

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tangbjhck
系列文章
更多 icon
同类精品
更多 icon
继续加载