POST TIME:2021-05-25 00:15
DEDECMS快速建網(wǎng)站時(shí)
問題:頻道頁(yè)面有時(shí)除調(diào)用欄目?jī)?nèi)容外我們還需要在頻道頁(yè)調(diào)用一些其它的內(nèi)容。比如欄目圖片、欄目介紹等。
方法:在織夢(mèng)系統(tǒng)的基礎(chǔ)上進(jìn)行小小的修改,算是對(duì)dedecms二次開發(fā)吧。
效果:在做wap網(wǎng)站時(shí),每個(gè)欄目對(duì)應(yīng)的小小的圖標(biāo),我們就可以直接在后臺(tái)上傳控制了。
下面以增加 欄目圖標(biāo)、地址、電話、網(wǎng)址 四項(xiàng)內(nèi)容為例。修改后的效果如下所示:
步驟:
1、添加字段(修改數(shù)據(jù)庫(kù)--dede_arctype表)
在smalltypes字段后添加typelitpic、address、telphone、webnet 四個(gè)字段,分別對(duì)應(yīng)欄目圖標(biāo)、地址、電話、網(wǎng)址四項(xiàng)。我這里直接操作navicat添加了。
2、修改【欄目添加】文件
打開后臺(tái)目錄,默認(rèn)是dede文件夾,里面的dede/catalog_add.PHP文件。在第65行與227行兩處一樣的修改,只是一個(gè)是~另一個(gè)是$符號(hào),別弄錯(cuò)了,照著原來(lái)字段復(fù)制改為我們自己需要的英文名或者圖片名,搜索
reid,topid,sortrank,typename,typedir
在逗號(hào)后面添加(注意逗號(hào))
typelitpic,address,telphone,webnet,
下面第二行的
'~reid~','~topid~','~rank~','~typename~','~typedir~'
后面添加
'~typelitpic~','~address~','~telphone~','~webnet~'
完成后如下圖:
繼續(xù)在227行重復(fù)上面兩步添加,完成后如下圖:
3、再打開dede emplets目錄下的catalog_add.htm,在第250行搜索
<tdclass='bline'height="26"style="padding-left:10px;"><fontcolor='red'>欄目名稱:</font></td>
在下面</tr>后添加如下代碼
<tr> <td class='bline' height="26" style="padding-left:10px;">欄目圖標(biāo):</td> <td class='bline'> <input name="typelitpic" type="text" id="typelitpic" size="30" value="<?php echo $myrow['typelitpic']?>" class="iptxt" /> <input type="button" name="Submit2" value="站內(nèi)選擇" style="margin-left:8px;" onClick="SelectImage('form1.typelitpic','small');" class='np coolbg'/> </td> </tr> <tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>地址:</font></td> <td class='bline'><input name="address" type="text" id="address" style="width:300px;" value="<?php echo $myrow['address']?>" class="iptxt" /></td> </tr> <tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>電話:</font></td> <td class='bline'><input name="telphone" type="text" id="telphone" style="width:300px;" value="<?php echo $myrow['telphone']?>" class="iptxt" /></td> </tr> <tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>網(wǎng)址:</font></td> <td class='bline'><input name="webnet" type="text" id="webnet" style="width:300px;" value="<?php echo $myrow['webnet']?>" class="iptxt" /></td> </tr>
4、修改【欄目更改】文件
打開后臺(tái)目錄,默認(rèn)是dede文件夾,里面的dede/catalog_edit.PHP文件。搜索`smalltypes`='$smalltypes' 大概在第62行添加下面的代碼
`smalltypes`='$smalltypes', `typelitpic`='$typelitpic', `address`='$address', `telphone`='$telphone', `webnet`='$webnet'
意思是添加一個(gè)$upquery 的賦值。如下圖:
然后打開dede/templets/catalog_edit.htm在第213行搜索
<tdclass='bline'height="26"style="padding-left:10px;"><fontcolor='red'>欄目名稱:</font></td>
也是在
后面添加
<tr> <td class='bline' height="26" style="padding-left:10px;">欄目圖標(biāo):</td> <td class='bline'> <input name="typelitpic" type="text" id="typelitpic" size="30" value="<?php echo $myrow['typelitpic']?>" class="iptxt" /> <input type="button" name="Submit2" value="站內(nèi)選擇" style="margin-left:8px;" onClick="SelectImage('form1.typelitpic','small');" class='np coolbg'/> </td> </tr> <tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>地址:</font></td> <td class='bline'><input name="address" type="text" id="address" style="width:300px;" value="<?php echo $myrow['address']?>" class="iptxt" /></td> </tr> <tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>電話:</font></td> <td class='bline'><input name="telphone" type="text" id="telphone" style="width:300px;" value="<?php echo $myrow['telphone']?>" class="iptxt" /></td> </tr> <tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>網(wǎng)址:</font></td> <td class='bline'><input name="webnet" type="text" id="webnet" style="width:300px;" value="<?php echo $myrow['webnet']?>" class="iptxt" /></td> </tr>
完成后如下圖
5、給圖片上傳按鈕添加js鏈接
我們的縮略圖是直接上傳的,所以這里要在添加頁(yè)與編輯頁(yè)頂部鏈接那個(gè)JS文件,在dede/templets/catalog_add.htm與dede/templets/catalog_edit.htm的添加/dede/js/main.js的js代碼
<scriptlanguage='javascript'src="js/main.js"></script>
如下圖:
6、調(diào)用欄目圖片
調(diào)用的時(shí)候也要修改相關(guān)字段的文件,另外有用dede:sql
標(biāo)簽調(diào)用就不需要修改了,但是這樣并不靈活。我調(diào)用是用dede:channel標(biāo)簽來(lái)調(diào)用顯示頂級(jí)欄目或者子欄目,于是我們要去修改相對(duì)應(yīng)的PHP文件,打開include aglibchannel.lib.php
文件,在第80、86、92、111行左右,添加我們新加的字段,具體如下圖
7、調(diào)用的時(shí)候就可以在dede:channel標(biāo)簽里使用我們新加的字段了。
我的調(diào)用代碼用的是dede:sql如下:
這樣修改標(biāo)簽的相關(guān)函數(shù)文件的好處在于,你想讓欄目新加字段在任一標(biāo)簽都能使用就按照上面的修改就行了,比如我們要用dede:sonchannel
子欄目調(diào)用圖片標(biāo)簽,就可以修改相對(duì)應(yīng)的include aglibsonchannel.lib.php 函數(shù)文件,其他DEDE標(biāo)簽同理。