• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DedeCMS 5.1 版缩略图修改补充
    POST TIME:2017-11-13 01:02
    勾选 “提取第一张图片为缩略图” 实际是将第一张图当作缩略图 并没有生成带"_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);

    修改了缩图函数,就能在原图中截取居中的、最大面积的符合自定义缩略图长宽比列的一部分生成缩略图。
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!