dedecms的文章和栏目的自定义字段的添加、调用以及完全删除方法

在制作dedecms模板的过程中经常会用到一些默认dedecms没有的字段,为此以dedecms以及以上的基础上做了一个关于dedecms自定义字段的添加和自定义字段在dedecms模板中的调用方法。 在制作dedecms模板的过程中经常会用到一些默认dedecms没有的字段,如: 这里的

在制作dedecms模板的过程中经常会用到一些默认dedecms没有的字段,为此以dedecms以及以上的基础上做了一个关于dedecms自定义字段的添加和自定义字段在dedecms模板中的调用方法。 在制作dedecms模板的过程中经常会用到一些默认dedecms没有的字段,如:

这里的价格的调用,dedecms默认是没有这个标签的,那我们如果实现这个价格的调用呢? 在这里我们就需要使用到dedecms模型里的自定义字段了,下面我们以dedecms5.6为例介绍一下dedecms字段的添加和调用方法。(5.3版本后的所以版本的自定义字段的添加和调用相同) 首先我们打开网站后台,点击左侧的“核心”,找到模型管理,这是就可以看到“内容模型管理”的选项卡了。如图:

点击进入“内容模型管理”这是右侧会显示相应的各个模型了,下面我们以文章模型为例讲解自定义字段的添加。

点击右侧的更改小图标进入文章模型的管理页面。 这是我们会看到有“基本设置”和“字段管理”2个选项。我们选择字段管理选项进入。

进入以后我

们会看到有个“添加新字段”的按钮

点击“添加新字段”按钮进入,这时看到的就是添加字段的界面了。 我们以上面讲到的价格字段为例进行一个实例操作的讲解,如下图:

全部添加好后点击确定即可。然后我们进入栏目管理,开始添加内容,打开添加内容页面后我们会看到一个关于价格的内容输入框。

这个就是我们刚刚添加到关于价格的字段。 到这里就已经讲完关于dedecms自定义字段的一个添加过程,对于自定义字段的添加需要活学活用才能将这个功能的潜力完全发挥出来。下面讲一下关于自定义字段在dedecms模板中的的调用。 我们以在首页调用为例: Dedecms模板中默认调用文章标题的标签如下:

{dede:arclist row=6 titlelen=32} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist} 

那么我们调用自定义字段就是在这个基础上加以修改来实现的,我们还是以最开始提到的价格为例,具体标签表现为:

 {dede:arclist row=8 titlelen=32 addfields='jiage' channelid='1'} <li><span>¥[field:jiage/]起</span><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist} 

我们可以看到和第一个标签比较起来有2个不同的地方: 1, 在{dede:arclist row=6 titlelen=32}处多出了addfields='jiage' channelid='1' ,其中addfields='jiage'表示的是指定要获得的字段 addfields='字段1,字段' channelid='1' 表示的是该字段是属于哪个模型的,我们这里是指文章模型里添加到所以channelid=的值为1..。 确定文章模型的的ID是多少,我们里在文章模型管理里找到如下图红色框内的就是模型ID.

2,还多出一个“[field:jiage/]”这个就是我们在添加字段时添加到字段名了。如果你需要在列表页中的{dede:list}里调用自定义字段的话直接添加 “[field:jiage/]” 就可以了,但前提条件是你添加字段的时候必须选择了该项参数。

以上就是关于dedecms自定义字段的添加和调用方法。 另外也可以通过在数据库中添加字段,修改模板文件也能实现的。比如编辑栏目的时候,添加自己想要的栏目的自定义设置,比如添加栏目关键字等等。下面是具体的操作。 第一步:我们要进去mysql 数据库里添加字段,自己命名好!比如我下面添加了一个栏目搜索关键字字段,当然你字段可以自己新建,找到表dede_arctype (这个是栏目模型的数据库表,前面是你安装的表名)然后点击

在点击添加字段

添加字段

到这里数据库字段添加好了。 接下来我们开始做后台。大家写找到后台栏目管理模版! 要更改的 2个 D:\www\dede\templets 模版:catalog_add.htm、catalog_edit.htm 下面就演示一个

然后添加 字段表单,这个一般大家都会的 我添加的代码是:

<tr> <td height="65">栏目搜索关键字:</td> <td> <textarea name="lanmukeywrod" cols="70" rows="4" id="lanmukeywrod"  ><?php echo $myrow['lanmukeywrod']?></textarea> </td> </tr> 

这里注意了。表单的name 和id 要和添加的 mysql表字段一样,不应的话。还要多写个取值代码。一样的话。默认dedecms会自动取的,然后我们做最后一部,把数据添加进去。 大家找到: D:\www\dede\catalog_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/}

在模版里调用这个就可以了,如果大家是别的字段也是一样的调用,后面换成字段名称就可以了。 另外关于自定义字段的完全删除。 在修改网站的时候由于需要增加自定义字段,后来不需要的时候,发现自定义字段无法删除。 于是找到了数据库的dede_addonarticle这个表,看到了自定义字段,删除后,在后台的模型中看到自定义字段还存在,很多朋友都是做到这一步,就不知道如何做了。而且发布文章的时候还有错误,提示自定义字段找不到,而无法发布文章。 原来在dede_channeltype这里面也就是模型配置里面还存在这个自定义字段,进入数据库dede_channeltype表下,然后点击浏览内容,你会发现fieldset字段里面的内容还存在这个自定义字段。 以下为引用的内容:

<field:body itemname='文章内容' type='htmltext' isnull='true' default='' rename='' page='split'/> <field:daima itemname="代码" autofield="1" notsend="1" type="htmltext" isnull="true" islist="0" default="" function="" maxlength="" page=""> </field:daima> 只要我们删除<field:你的字段></field>

这样就可以了,问题解决了。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

dedecms织梦默认的TAG标签不是很灵活。有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag=c,h),这样全站调用的时候更灵活。 全站调用TAG标签方法一般是: {dede:tag row='100' sort='new' getall='1'}a target="_blank
未审核文档的TAG会显示在TAG列表页面, 固然点击进入TAG时, 相关的未审核文章不会显示出来, 这样对用户体验是很不好的. DEDECMS暂时没有提供这个功能,所以要解决这个问题, 让DEDECMS不显示未审核文档的TAG, 就要修改TAG的显示库文件 tag.lib.php。 方法一 打
我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp
我们在用到织梦dedecms软件模型的时候,手动指定地址通常只能是引用其他网址或者链接,我们要实现直接选取站内的文件,这个要怎么操作呢?下面小编一步步为您解答,最终效果如下图所示: 实现教程 1、打开 /dede/templets/soft_add.htm 找到 input type=text
我们有时候需要对织梦文档的点击量进行批量维护,比如采集来的文章,点击量都为0,需要批量修改,可以用到如下方法1。 1、在数据库里运行下面的代码就可以了,文章的点击量变得随机从500到1000 UPDATE dede_archives SET click=FLOOR(500 + (RAND() * 1000))
用过dedecms的朋友都知道,织梦cms后台系统基本参数里是无法直接上传图片的,我们更换logo图只能到ftp里替换,非常的不方便,我们如果想直接在系统基本参数里上传,要怎么处理呢?在这里需要对代码进行修改,具体流程如下: 实现方法,打开/dede/templets/sy