找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1393|回复: 0

[分享] 给织梦DedeCMS栏目添加字段,栏目自定义字段教程

[复制链接]
发表于 2018-7-7 08:42:06 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
织梦DedeCMS的用户很多,我们在用织梦DedeCMS时候经常需要做一些自定义的功能,我想大家对织梦DedeCMS内容模型应该用的都很熟悉了吧,那这里就对栏目里面添加字段做一个详细的教程给大家。
比如我要添加:栏目图片,和栏目关键字等。随便你怎么自定义。

具体操作如下:

第一部分:给数据库表添加字段
提别说明:我用的是phpMyAdmin数据库管理软件,虚拟空间商后台数据库管理一般都提供的有高级管理功能,一般都是phpMyAdmin。
1、我们要进去mysql数据库里添加字段,自己命名好!比如我下面添加了一个栏目搜索关键字字段,当然你字段可以自己新建。
2、找到表 dede_arctype (这个是栏目模型的数据库表,前面是你安装的表名,新手要注意,不要问我,我找不到这个表)
3、进入dede_arctype表然后选择结构

1.webp

4、在结构页下方,注意查看有一栏字段添加的栏目,如下图:

2.webp

5、选择添加在某个字段结尾或之前点,击添加字段,出现字段属性设置界面,根据自己需要做相应的设置,点击保存即可。如下图:


3.webp

6、到这里数据库 dede_arctype 字段添加就完成了。

第二部分:
接下来我们开始做后台。大家先找到 后台栏目 管理模版!
要更改的 2个 D:\www\dede\templets 模版:catalog_add.htm、catalog_edit.htm
下面就演示一个

4.webp

然后添加 字段表单,这个一般大家都会的
我添加的代码是:
  1. <tr>
  2.   <td height="65">栏目搜索关键字:</td>
  3.     <td> <textarea name="lanmukeywrod" cols="70" rows="4" id="lanmukeywrod" class="alltxt" ><?php echo $myrow['lanmukeywrod']?></textarea>
  4.    </td>
  5. </tr>
复制代码



这里大家注意了。表单的name 和id  要和添加的 mysql表字段一样,不应的话。还要多写个取值代码。一样的话。默认dedecms会自动取的
然后我们做最后一部,把数据添加进去
大家找到: D:\www\dede\catalog_edit.php
目录可能和大家不一样 也就是后台 里面的 catalog_edit.php,catalog_add.php
catalog_edit.php要改的地方有:
38行
  1. $upquery = "Update `dede_arctype` set
  2.   issend='$issend',
  3.   sortrank='$sortrank',
  4.   typename='$typename',
  5.   typedir='$typedir',
  6.   isdefault='$isdefault',
  7.   defaultname='$defaultname',
  8.   issend='$issend',
  9.   ishidden='$ishidden',
  10.   channeltype='$channeltype',
  11.   tempindex='$tempindex',
  12.   templist='$templist',
  13.   temparticle='$temparticle',
  14.   namerule='$namerule',
  15.   namerule2='$namerule2',
  16.   ispart='$ispart',
  17.   corank='$corank',
  18.   description='$description',
  19.   keywords='$keywords',
  20.   moresite='$moresite',
  21.   `cross`='$cross',
  22.   `content`='$content',
  23.   `crossid`='$crossid',
  24.   `smalltypes`='$smalltypes'
  25.   $uptopsql
  26.   where id='$id' ";
复制代码


sql语句里面添加我们刚才的 字段进去。也就是下面这个代码

  1. $upquery = "Update `dede_arctype` set
  2.   issend='$issend',
  3.   sortrank='$sortrank',
  4.   typename='$typename',
  5.   typedir='$typedir',
  6.   isdefault='$isdefault',
  7.   defaultname='$defaultname',
  8.   issend='$issend',
  9.   ishidden='$ishidden',
  10.   channeltype='$channeltype',
  11.   tempindex='$tempindex',
  12.   templist='$templist',
  13.   temparticle='$temparticle',
  14.   namerule='$namerule',
  15.   namerule2='$namerule2',
  16.   ispart='$ispart',
  17.   corank='$corank',
  18.   description='$description',
  19.   keywords='$keywords',
  20.   moresite='$moresite',
  21.   `cross`='$cross',
  22.   `content`='$content',
  23.   `crossid`='$crossid',
  24.   `smalltypes`='$smalltypes',
  25.   `lanmukeywrod`='$lanmukeywrod'
  26.   $uptopsql
  27.   where id='$id' ";
复制代码


看到了 这个是添加的:`lanmukeywrod`='$lanmukeywrod'



这个是更新栏目的。catalog_add.php添加。也是同样的办法:
 更改地址有:63行和196行。也是同样办法。添加字段信息 到sql里去
更改后的代码:
63行:
  1. $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')";
  2. 添加了 lanmukeywrod
复制代码


196行:

  1. $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/}
在模版里调用这个就可以了!

好了,给织梦DedeCMS栏目添加字段,栏目自定义字段教程写完了。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

▶专业解决各类DiscuzX疑难杂症、discuz版本升级 、网站搬家 和 云服务器销售!▶有偿服务QQ 860855665 更多精品应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2025-2-1 14:35 , Processed in 0.046141 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表