濮阳杆衣贸易有限公司

主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > 織夢(mèng)CMS縮略圖和文章內(nèi)容圖片自動(dòng)轉(zhuǎn)化為帶域名

織夢(mèng)CMS縮略圖和文章內(nèi)容圖片自動(dòng)轉(zhuǎn)化為帶域名

POST TIME:2017-11-13 01:03

今天又接了個(gè)織夢(mèng)CMS的有償服務(wù),客戶想要后臺(tái)添加文章內(nèi)容的時(shí)候,縮略圖自動(dòng)變成帶上絕對(duì)路徑的格式.

比如我們默認(rèn)的縮略圖是這樣的/uploads/allimg/150814/123P2NB-0-lp.png 他想要的效果是這樣的 http://www.genban.org/uploads/allimg/150814/123P2NB-0-lp.png

大家懂我意思了吧.

因?yàn)樗麄兪怯袀€(gè)PC端和手機(jī)端,用的同一個(gè)數(shù)據(jù)庫(kù),但是不同的服務(wù)器,所以不加絕對(duì)路徑的話,其中一端的不能顯示圖片的.

大家一般想做這個(gè)縮略圖自動(dòng)帶上絕對(duì)路徑的話可能一般有2種思路:

  1. 在點(diǎn)擊上傳縮略圖和編輯器自動(dòng)獲取第一張圖做縮略圖的代碼處加上域名這個(gè)絕對(duì)路徑,也就是這里需要改2處地方

  2. 在插入數(shù)據(jù)庫(kù)和修改數(shù)據(jù)庫(kù)的時(shí)候(添加和編輯),只需判斷當(dāng)前縮略圖是否包含域名這個(gè)字符串,如果包含了就不做操作,沒包含就加一個(gè)絕對(duì)路徑,就解決了.也就是這里只需要改一個(gè)地方,就是操作數(shù)據(jù)庫(kù)前處理下就好了.我用的是這種.

下面是詳細(xì)代碼:

大家打開織夢(mèng)的后臺(tái)路徑 默認(rèn)是dede/article_add.php 和 dede/article_edit.php

兩個(gè)文件一個(gè)是添加的時(shí)候,一個(gè)是編輯的時(shí)候

搜索if(preg_match("#j#", $flag)) $ismake = -1; 這句代碼

在這句代碼的上面加入以下代碼:

if($litpic!='' && !checkstr($litpic,$cfg_basehost)){

$litpic=$cfg_basehost.$litpic;

}

然后隨便在include的一個(gè)php文件里面加入以下代碼:


function checkstr($str,$str1){
//判斷是否包含$str1這個(gè)字符
$tmparray = explode($str1,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}

就解決了,這個(gè)判斷的意思就是如果縮略圖不為空的話,并且縮略圖url不包含域名的話,就給他加一個(gè)域名,這樣就解決了.

昨天那篇教程只寫了關(guān)于縮略圖的,因?yàn)楫?dāng)時(shí)客戶沒和我說織夢(mèng)內(nèi)容頁里面也需要轉(zhuǎn)為帶域名的絕對(duì)路徑.

所以今天早上就把后面的代碼寫完了.我直接寫代碼吧.

打開include\dialog\select_images_post.php這個(gè)文件,然后在108行

$fileurl = $activepath.'/'.$filename;

改為

$fileurl = $cfg_basehost.$activepath.'/'.$filename;

這里的意思就是編輯器上傳的時(shí)候,帶上域名這樣的絕對(duì)路徑.

然后打開/dede/inc/inc_archives_functions.php

找到436行的樣子

global $cuserLogin,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir,$ddcfg_image_dir,$cfg_addon_savetype;

改為

global $cfg_basehost,$cuserLogin,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir,$ddcfg_image_dir,$cfg_addon_savetype;

找到481行的樣子

if($isremote==1 && preg_match("#^http:\/\/#i", $picname))

改成

if(($isremote==1 && preg_match("#^http:\/\/#i", $picname)) && !checkstr($picname,$cfg_basehost))

找到502行的樣子

if(($litpic=='ddfirst' && !preg_match("#^http:\/\/#i", $picname))

改為

if(($litpic=='ddfirst' && !preg_match("#^http:\/\/#i", $picname)) || ($litpic=='ddfirst' && checkstr($picname,$cfg_basehost)))

找到503行的樣子

$oldpic = $cfg_basedir.$picname; 在這句代碼的上面加一句 $picname = str_replace($cfg_basehost,'',$picname);

然后可以把滾動(dòng)條拉到最下面 加入以下函數(shù):

function checkstr($str,$str1){
//判斷是否包含$str1這個(gè)字符
$tmparray = explode($str1,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}

那么基本就搞定了

具體什么意思我就不說了,看的懂的看代碼就懂了,看不懂的說了也沒用.

織夢(mèng)CMS縮略圖和文章內(nèi)容圖片自動(dòng)轉(zhuǎn)化為帶域名的絕對(duì)路徑 這個(gè)教程也就講完了,希望可以幫助到大家



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
平度市| 侯马市| 平舆县| 浦县| 临夏县| 大名县| 临江市| 滕州市| 农安县| 杂多县| 文水县| 吕梁市| 永登县| 加查县| 巴彦县| 聂荣县| 桦川县| 五大连池市| 沛县| 射阳县| 吉林省| 常州市| 青河县| 景宁| 大田县| 固阳县| 兴宁市| 库尔勒市| 九龙县| 富阳市| 云南省| 和政县| 稻城县| 宾川县| 道孚县| 武鸣县| 江都市| 西林县| 周宁县| 甘孜| 余干县|