POST TIME:2018-09-18 00:05
如何在dede欄目設置中添加自定義字段 這個說法以前沒有見到到,很少有客戶會提出這樣的二次要求,今天織夢者在網上轉了一下看到了這樣的一篇文章轉過來與大家分享
鑒于這個教程沒人發過,網上搜索的人也比較多。所以就做了個。
比如我要添加:欄目圖片,和欄目關鍵字等。隨便你吧。好。我們現在開始做。
第一我們要進去mysql 數據庫里添加字段,自己命名好!比如我下面添加了一個欄目搜索關鍵字字段,當然你字段可以自己新建,找到表dede_arctype (這個是欄目模型的數據庫表,前面是你安裝的表名,新手要注意,不要問我,我找不到這個表)
注意。這里老鳥跳過
到這里數據庫字段添加好了。
接下來我們開始做后臺。大家寫找到后臺欄目管理模版!
要更改的 2個 D:wwwdede emplets 模版:catalog_add.htm、catalog_edit.htm
下面就演示一個
然后添加 字段表單,這個一般大家都會的
我添加的代碼是:
<tr>
<td height="65">欄目搜索關鍵字:</td>
<td> <textarea name="lanmukeywrod" cols="70" rows="4" id="lanmukeywrod" class="alltxt" ><?php echo $myrow['lanmukeywrod']?></textarea>
</td>
</tr>
這里大家注意了。表單的name 和id 要和添加的 mysql表字段一樣,不應的話。還要多寫個取值代碼。一樣的話。默認dedecms會自動取的,然后我們做最后一部,把數據添加進去。
大家找到: 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語句里面添加我們剛才的 字段進去。也就是下面這個代碼
$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’ ";看到了 這個是添加的:`lanmukeywrod`=’$lanmukeywrod’
這個是更新欄目的。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’)";
下面說下 如何調用到前臺
{dede:field.lanmukeywrod/}
在模版里調用這個就可以了,如果大家是別的字段也是一樣的調用,后面換成字段名稱就可以了。