主页 > 网站建设 > 建站知识 > 给DEDECMS栏目添加自定义字段

给DEDECMS栏目添加自定义字段

POST TIME:2020-03-29 11:51

以前帮助朋友搞过织梦模板栏目自定义字段,今天又有一位朋友在群里问,于是在网上搜索了下,找到这个教程,转过来给需要的朋友参考。

第一我们要进去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表字段一样,不应的话。还要多写个取值代码。一样的话。默认织梦模板会自动取的,然后我们做最后一部,把数据添加进去。

大家找到: 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/}

在模版里调用这个就可以了,如果大家是别的字段也是一样的调用,后面换成字段名称就可以了。

好了写完了。

(本教程来自智软工作室)



收缩
  • 微信客服
  • 微信二维码
  • 电话咨询

  • 400-1100-266