本文實例講述了dedecmsv5.7與v5.6欄目增加縮略圖的方法。分享給大家供大家參考。具體分析如下:
欄目縮略圖功能是dedecms系統(tǒng)不具備的一個功能了,如果你想給你的欄目增加一個縮略圖上傳功能我們需要來進行自定義二次開發(fā)了,下面我把一個朋友寫的過程分享給大家,這里我也自己經(jīng)過dedecmsv5.7測試過,沒有任何問題.
此功能添加涉及到以下文件:
dede/catalog_add.php
dede/catalog_edit.php
dede/templets/catalog_add.htm
dede/templets/catalog_edit.htm
include/taglib/channel.lib.php
此升級修改方法,在V5.7,V5.7sp1測試通過,其他版本未測試,原理基本相同,請大家自行測試是否可行.
首先給欄目表(`dede_arctype`)增加一個字段typeimg,
altertable`dede_arctype`add`typeimg`varchar(200)NOTNULLdefault;
修改catalog_add.php文件,打開dede/catalog_add.php,查找:
$queryTemplate="insertinto`dede_arctype`
//將
(reid,topid,sortrank,typename,typedir,
//替換為:(reid,topid,sortrank,typename,typedir,typeimg,
//將
('~reid~','~topid~','~rank~','~typename~','~typedir~',
//替換為:
('~reid~','~topid~','~rank~','~typename~','~typedir~','~typeimg~',
//查找
$in_query="INSERTINTO`dede_arctype`
//將
(reid,topid,sortrank,typename,typedir,
//替換為:
(reid,topid,sortrank,typename,typedir,typeimg,
//將
('$reid','$topid','$sortrank','$typename','$typedir',
//替換為:
('$reid','$topid','$sortrank','$typename','$typedir','$typeimg',
保存catalog_add.php
下面修改catalog_edit.php文件,打開dede/catalog_edit.php,查找
$upquery="Update`dede_arctype`set
在typedir='$typedir',其下面增加一行:
`typeimg`='$typeimg'
保存catalog_edit.php
開始修改欄目添加模板文件,打開dede/templets/catalog_add.htm,在最上面找到這個段,
<title>欄目管理</title><linkhref="css/base.css"rel="stylesheet"type="text/css">
替換為:
<title>欄目管理</title>
<linkhref="css/base.css"rel="stylesheet"type="text/css">
<scriptlanguage="javascript"src="../include/js/dedeajax2.js"></script>
<scriptlanguage='javascript'src="js/main.js"></script>
<scripttype="text/javascript"src="js/calendar/calendar.js"></script>
列表命名規(guī)則,
<tr><tdheight="26"style="padding-left:10px;">列表命名規(guī)則:</td>
<td><inputname="namerule2"type="text"id="namerule2"value="{typedir}/list_{tid}_{page}.html"class="pubinputs"style="width:250px"/>
<imgsrc="images/help.gif"alt="幫助"width="16"height="16"border="0"style="cursor:pointer"onClick="ShowHide('helpvar3')"/></td></tr>
在標(biāo)簽下面增加一行:
<!--增加欄目縮略圖--><tr>
<tdwidth="90"style="padding-left:10px;">欄目圖片:</td><tdwidth="560">
<tablewidth="100%"border="0"cellspacing="1"cellpadding="1"><tr>
<tdheight="30"><inputname="typeimg"type="text"id="typeimg"style="width:240px"/>
<inputtype="button"value="本地上傳"style="width:70px;cursor:pointer;display:none"/>
<iframename='uplitpicfra'id='uplitpicfra'src=''style='display:none'></iframe>
<spanclass="litpic_span">
<inputname="litpic"type="file"id="litpic"onChange="SeePicNew(this,'divpicview','uplitpicfra',165,'archives_add.php');"size="1"class='npcoolbg'/></span>
<inputtype="button"name="Submit2"value="選擇圖片"style="margin-left:8px;"onClick="SelectImage('form1.typeimg','small');"class='npcoolbg'/>
<inputtype="button"name="Submit2"value="裁剪"style="margin-left:8px;"onClick="imageCut('typeimg');"class='npcoolbg'/>
<inputtype='checkbox'class='np'name='ddisremote'value='1'id='ddisremote'/>遠程(欄目模板里用{dede:field.typeimg/}調(diào)用</td></tr></table></td>
<tdwidth="150"align="center"><divid='divpicview'class='divpre'></div></td></tr><!--增加欄目縮略圖-->
保存catalog_add.htm,開始修改欄目編輯模板文件,打開dede/templets/catalog_edit.htm,在最上面找到這個段,
<title>欄目管理</title><linkhref="css/base.css"rel="stylesheet"type="text/css">
替換為:
<title>欄目管理</title><linkhref="css/base.css"rel="stylesheet"type="text/css">
<scriptlanguage="javascript"src="../include/js/dedeajax2.js"></script>
<scriptlanguage="javascript"src="js/main.js"></script><scripttype="text/javascript"src="js/calendar/calendar.js"></script>
查找
<tr><tdheight="26"style="padding-left:10px;">列表命名規(guī)則:</td><td>
<inputname="namerule2"type="text"id="namerule2"value="<?phpecho$myrow['namerule2']?>"size="40"class="iptxt"/>
<imgsrc="images/help.gif"alt="幫助"width="16"height="16"border="0"style="cursor:pointer"onClick="ShowHide('helpvar3')"/></td></tr>
在其下面增加一行:
<!--增加欄目縮略圖--><tr><tdwidth="90"height="81"style="padding-left:10px;">欄目圖片:</td></td>
<tdwidth="500"><inputname="typeimg"type="text"id="typeimg"style="width:300px"value="<?phpecho$myrow['typeimg']?>">
<inputtype="button"name="Submit"value="瀏覽..."style="width:70px"onClick="SelectImage('form1.typeimg','');">
<inputtype="button"name="Submit2"value="裁剪"style="margin-left:8px;"onClick="imageCut('typeimg');"class='npcoolbg'/>
<inputtype='checkbox'class='np'name='ddisremote'value='1'>遠程(欄目模板里用{dede:field.typeimg/}調(diào)用)</td>
<tdalign="center"><imgsrc="<?phpif($myrow['typeimg']!="")echo$myrow['typeimg'];elseecho"images/pview.gif";?>"width="150"height="100"id="picview"name="picview"></td></tr><!--增加欄目縮略圖-->
保存catalog_edit.htm
至此已經(jīng)修改完成!
欄目圖片的添加或修改圖片時在(欄目管理>高級選項)里面就會自動出現(xiàn)欄目圖片添加的選擇.點擊選擇圖片.彈出窗口內(nèi)選擇瀏覽上傳就OK.
注意:前臺欄目標(biāo)簽調(diào)用的時候,還需要改一個文件,才能實現(xiàn)欄目圖片顯示,否則只能通過sql語句才能顯示圖片。
打開:include/taglib/channel.lib.php,找到如下代碼:
if($type=='top'){$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid=0Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="son"){//if($_sys_globals['typeid']>0)$typeid=$_sys_globals['typeid'];if($typeid==0){return'';}$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid='$typeid'Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="self"){if($reid==0){return'';}$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid='$reid'Andishidden<>1orderbysortrankasclimit0,$row";}
替換成下面的代碼:
if($type=='top'){$sql="Selectid,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid=0Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="son"){//if($_sys_globals['typeid']>0)$typeid=$_sys_globals['typeid'];if($typeid==0){return'';}$sql="Selectid,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid='$typeid'Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="self"){if($reid==0){return'';}$sql="Selectid,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid='$reid'Andishidden<>1orderbysortrankasclimit0,$row";}
調(diào)用方法:
<imgsrc="[field:typeimg/]"/>
希望本文所述對大家的dedecms建站有所幫助。
此文由 網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口 編輯,未經(jīng)允許不得轉(zhuǎn)載!: