您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
dedecms文章自动提取第一个缩略图无效的解决方法
发布时间:2015-02-26 14:42:24编辑:雪饮阅读()
在dedecms中文章缩略图可以通过勾选自动获取第一张图片作为缩略图选项进行自动获取:
但在实际使用过程中总有不如意的时候,经常会发现明明文章中存在图片但却无法通过这项的勾选就能够自动获取到缩略图的,而调用出的则是默认没有缩略图的所显示的图片
看看dede官方的文档处理所在的php文件(dede/inc/inc_archives_functions.php)找到如下代码:
if($GLOBALS[‘cfg_ddimg_full’]==‘Y’) @ImageResizeNew($oldpic,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir.$litpic);
else @ImageResize($oldpic,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir.$litpic);
if(!is_file($cfg_basedir.$litpic)) $litpic = ”;
这里调用了@ImageResize函数对图片进行缩小,并将缩小的图片另存为$litpic。但实际上ImageResize函数会再对图片缩小的尺寸进行判断,如果原图已经小于目标尺寸,则不进行缩放直接返回。导致并未进行另存为$litpic的操作。如此一来$litpic的文件并未生成,根据上述代码的最后一行,自然就返回空值。
既然了解了其原理,那么我们做如下调整:
最后一行改为
if(!is_file($cfg_basedir.$litpic)) $litpic = $picname;
然后进行相关更改以及数据的更新即可。
关键字词:dedecms缩略图,提取无效,雪饮个人博客