POST TIME:2017-11-13 00:55
前兩天用DEDE做二次開發(fā)的時(shí)候,遇到一個(gè)問題,領(lǐng)導(dǎo)讓給每個(gè)欄目增加一個(gè)欄目圖片的功能,網(wǎng)上找了些東西,結(jié)合自己實(shí)際做的時(shí)候的方法,下面詳細(xì)描述下具體的實(shí)現(xiàn)方式(只測試了V5.7版本,對低版本是否適用不太清楚)。
1. 首先,給欄目分類表`dede_arctype`表增加縮略圖字段`typeimg`,用phpMyAdmin或其他數(shù)據(jù)庫管理工具,直接在數(shù)據(jù)表中添加該字段,或者運(yùn)行下面的SQL語句:
alter table `dede_arctype` add `typeimg` char(100) NOT NULL default '';
2. 修改頁面,在表單中添加相應(yīng)的字段,涉及到的頁面有:
dede/catalog_add.php
dede/catalog_edit.php
dede/templets/catalog_add.htm
dede/templets/catalog_edit.htm
2.1 打開dede/templets/catalog_add.htm,查找
<tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>欄目名稱:</font></td> <td class='bline'><input name="typename" type="text" id="typename" size="30" class="iptxt" /></td> </tr>
在其下面加上如下代碼:
<tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>欄目圖片:</font></td> <td class='bline'> <input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="" /> <input type="button" name="set9" value="瀏覽... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" /> </td> </tr>
并在<head></head>之間引入如下js:
<script language="javascript" src="js/main.js"></script>
2.2 打開dede/catalog_add.php頁面,保存上傳欄目圖片的內(nèi)容,查找
$queryTemplate = "INSERT INTO
在
(reid,topid,sortrank,typename
的后面添加 ,typeimg 字段,再找到
('~reid~','~topid~','~rank~','~typename~',
在其后面添加 ,’~typeimg~’ 字段,接著查找
$in_query = "INSERT INTO
在
(reid,topid,sortrank,typename
后面同樣添加 ,typeimg 字段,并在
('$reid','$topid','$sortrank','$typename'
后面添加 ,’$typeimg’ 字段。
2.3 打開dede/templets/catalog_edit.htm頁面,查找
<tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>欄目名稱:</font></td> <td class='bline'><input name="typename" type="text" id="typename" size="30" value="<?php echo $myrow['typename']?>" class="iptxt" /></td> </tr>
在其下面添加:
<tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>欄目圖片:</font></td> <td class='bline'> <input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" /> <input type="button" name="set9" value="瀏覽... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" /> </td> </tr>
并在<head></head>之間引入下面的js文件
<script language='javascript' src="js/main.js"></script>
2.4 打開dede/catalog_edit.php,查找
$upquery = "UPDATE `dede_arctype` SET
在
typename='$typename',
的后面添加
typeimg='$typeimg',
然后保存。
注:調(diào)用時(shí),直接用 [field:typeimg/] 是獲取不到圖片的,最直接的辦法是修改“include/taglib/”下的頁面(用到哪個(gè)標(biāo)簽改哪個(gè)頁面),把“id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath”這里替換成 * ,這樣在模版中直接用 [field:typeimg/] 接口獲取到圖片。