POST TIME:2018-09-18 00:05
如何在dede欄目設(shè)置中添加自定義字段 這個(gè)說法以前沒有見到到,很少有客戶會提出這樣的二次要求,今天織夢者在網(wǎng)上轉(zhuǎn)了一下看到了這樣的一篇文章轉(zhuǎn)過來與大家分享
鑒于這個(gè)教程沒人發(fā)過,網(wǎng)上搜索的人也比較多。所以就做了個(gè)。
比如我要添加:欄目圖片,和欄目關(guān)鍵字等。隨便你吧。好。我們現(xiàn)在開始做。
第一我們要進(jìn)去mysql 數(shù)據(jù)庫里添加字段,自己命名好!比如我下面添加了一個(gè)欄目搜索關(guān)鍵字字段,當(dāng)然你字段可以自己新建,找到表dede_arctype (這個(gè)是欄目模型的數(shù)據(jù)庫表,前面是你安裝的表名,新手要注意,不要問我,我找不到這個(gè)表)
注意。這里老鳥跳過
到這里數(shù)據(jù)庫字段添加好了。
接下來我們開始做后臺。大家寫找到后臺欄目管理模版!
要更改的 2個(gè) D:wwwdede emplets 模版:catalog_add.htm、catalog_edit.htm
下面就演示一個(gè)
然后添加 字段表單,這個(gè)一般大家都會的
我添加的代碼是:
<tr>
<td height="65">欄目搜索關(guān)鍵字:</td>
<td> <textarea name="lanmukeywrod" cols="70" rows="4" id="lanmukeywrod" class="alltxt" ><?php echo $myrow['lanmukeywrod']?></textarea>
</td>
</tr>
這里大家注意了。表單的name 和id 要和添加的 mysql表字段一樣,不應(yīng)的話。還要多寫個(gè)取值代碼。一樣的話。默認(rèn)dedecms會自動取的,然后我們做最后一部,把數(shù)據(jù)添加進(jìn)去。
大家找到: D:wwwdedecatalog_edit.php
目錄可能和大家不一樣 也就是后臺 里面的 catalog_edit.php,catalog_add.php
catalog_edit.php要改的地方有:
38行
$upquery = "Update `dede_arctype` set
issend=’$issend’,
sortrank=’$sortrank’,
typename=’$typename’,
typedir=’$typedir’,
isdefault=’$isdefault’,
defaultname=’$defaultname’,
issend=’$issend’,
ishidden=’$ishidden’,
channeltype=’$channeltype’,
tempindex=’$tempindex’,
templist=’$templist’,
temparticle=’$temparticle’,
namerule=’$namerule’,
namerule2=’$namerule2′,
ispart=’$ispart’,
corank=’$corank’,
description=’$description’,
keywords=’$keywords’,
moresite=’$moresite’,
`cross`=’$cross’,
`content`=’$content’,
`crossid`=’$crossid’,
`smalltypes`=’$smalltypes’
$uptopsql
where id=’$id’ ";sql語句里面添加我們剛才的 字段進(jìn)去。也就是下面這個(gè)代碼
$upquery = "Update `dede_arctype` set
issend=’$issend’,
sortrank=’$sortrank’,
typename=’$typename’,
typedir=’$typedir’,
isdefault=’$isdefault’,
defaultname=’$defaultname’,
issend=’$issend’,
ishidden=’$ishidden’,
channeltype=’$channeltype’,
tempindex=’$tempindex’,
templist=’$templist’,
temparticle=’$temparticle’,
namerule=’$namerule’,
namerule2=’$namerule2′,
ispart=’$ispart’,
corank=’$corank’,
description=’$description’,
keywords=’$keywords’,
moresite=’$moresite’,
`cross`=’$cross’,
`content`=’$content’,
`crossid`=’$crossid’,
`smalltypes`=’$smalltypes’,
`lanmukeywrod`=’$lanmukeywrod’
$uptopsql
where id=’$id’ ";看到了 這個(gè)是添加的:`lanmukeywrod`=’$lanmukeywrod’
這個(gè)是更新欄目的。catalog_add.php添加。也是同樣的辦法
更改地址有:63行和196行。也是同樣辦法。添加字段信息 到sql里去
更改后的代碼:63行:
$queryTemplate = "insert into `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,
tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`lanmukeywrod`)
Values(‘~reid~’,’~topid~’,’~rank~’,’~typename~’,’~typedir~’,’$isdefault’,’$defaultname’,’$issend’,’$channeltype’,
‘$tempindex’,’$templist’,’$temparticle’,’default’,’$namerule’,’$namerule2′,’0′,’0′,”,”,’0′,”,”,’0′,’0′,’0′,”,”,’$lanmukeywrod’)";添加了 lanmukeywrod
196行:
$in_query = "insert into `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,
tempindex,templist,temparticle,modname,namerule,namerule2,
ispart,corank,description,keywords,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`lanmukeywrod`)
Values(‘$reid’,’$topid’,’$sortrank’,’$typename’,’$typedir’,’$isdefault’,’$defaultname’,’$issend’,’$channeltype’,
‘$tempindex’,’$templist’,’$temparticle’,’default’,’$namerule’,’$namerule2′,
‘$ispart’,’$corank’,’$description’,’$keywords’,’$moresite’,’$siteurl’,’$sitepath’,’$ishidden’,’$cross’,’$crossid’,’$content’,’$smalltypes’,’$lanmukeywrod’)";
下面說下 如何調(diào)用到前臺
{dede:field.lanmukeywrod/}
在模版里調(diào)用這個(gè)就可以了,如果大家是別的字段也是一樣的調(diào)用,后面換成字段名稱就可以了。