主頁(yè) > 網(wǎng)站建設(shè) > 建站知識(shí) > DedeCMS 5.1 版縮略圖修改補(bǔ)充

DedeCMS 5.1 版縮略圖修改補(bǔ)充

POST TIME:2017-11-13 01:02

勾選 “提取第一張圖片為縮略圖” 實(shí)際是將第一張圖當(dāng)作縮略圖 并沒(méi)有生成帶"_lit"的小圖

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


//自動(dòng)獲取縮略圖
if($autolitpic==1 && $litpic==''){
$litpic = GetDDImgFromBody($body);
}

大概意思應(yīng)該就是“縮略圖=獲取圖像從主題內(nèi)容”
也就是上面說(shuō)的實(shí)際是第一張?jiān)瓐D 這就是問(wèn)題所在
參考了4.X里提取縮略圖代碼,更改為:


//自動(dòng)獲取縮略圖-改
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更改為:



//自動(dòng)獲取縮略圖-改
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);
}
}

然后將這兩個(gè)文件 復(fù)制覆蓋到\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);

修改了縮圖函數(shù),就能在原圖中截取居中的、最大面積的符合自定義縮略圖長(zhǎng)寬比列的一部分生成縮略圖。


上一篇:Dede 刪除文檔同時(shí)文章中的圖片的方法

下一篇:DEDECMS v5.3 發(fā)布圖集時(shí)不能獲取縮略圖的解決辦法

收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢(xún)

  • 400-1100-266