找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1881|回复: 0
打印 上一主题 下一主题

Dedecms 增加字段 教程

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-13 20:41:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

很多网友反映,如何在现有发布模型基础上增加字段,例如在文章模型中增加“责任编辑”这一项,今天天涯就来教大家如何进行发布字段的增加。本教程适合有一定HTML基础、PHP基础的新手。
        首先了解dedecms的内容表存储结构,本教程针以dedecms V5为例,dedecms内容存储有一个主表
[color=]dede_archives
,所有内容的一些公用字段都存储在该表中,例如“标题”、“作者”、“发布时间”等,还有表就是
[color=]dede_addon(*)
这个表存储的是内容的附加字段,例如文章模型,如果你发布一篇文章,文章标题、作者、发布时间等存放在
[color=]dede_archives
,然后内容存放在
[color=]dede_addonarticle
这个表上,其他内容模型也是如此。下面我们就来开始我们的修改。
        我们先增加一个共有字段,例如我们在每个模型中加入“责任编辑”这个项目。
        首先在数据库中添加一个字段,你可以借助phpmyadmin这样的工具完成,或者使用一些软件形式的mysql管理工具添加字段,在这里天涯就使用dedecms自带的【SQL命令运行器】执行字段添加:
以下为引用的内容:
        ALTER TABLE `dede_archives` ADD `editor` VARCHAR( 30 ) CHARACTER SET gb2312 COLLATE gb2312_chinese_ci NULL AFTER `writer` ;
        显示“成功执行1个SQL语句!”代表你添加成功。
        接下来我们修改页面,这里介绍dedecms的内容发布原理,和大多程序一样,内容发布是由一个提交表单页面,然后一个表单处理页面构成,新版本将发布的模板分离出来,更利于大家修改,首先讲下dedecms文章发布原理,首先是管理目录下的article_add.php文件,这个文件接收管理员提交的内容信息,该发布模型的模板可以在管理目录下的templets中找到,文件名为article_add.htm,提交的内容信息是由管理目录下的action文件article_add_action.php进行内容处理然后写入数据库中,所以修改我们只需要修改两个文件,一个模板,一个处理文件。
        我们先修改模板文件,这个对新人来说比较简单,直接用Adobe Dreamweaver CS3打开/dede/templets/article_add.htm这个文件,在相应地方添加一个表单,如图所示:



       修改完之后再进入后台文章发布界面,发现已经出现了发布字段“责任编辑”,但事情还没有结束,因为只是做了个界面,还没有实现功能,下面就来修改文章发布处理页action/article_add_action.php

        找到第123行,这里是为dede_archives增加内容的SQL语句,
以下为引用的内容:
dede_archives(
typeid,typeid2,sortrank,iscommend,ismake,channel,
arcrank,click,money,title,shorttitle,color,writer,source,litpic,
pubdate,senddate,arcatt,adminID,memberID,description,keywords,templet,redirecturl,likeid)
VALUES ('$typeid','$typeid2','$sortrank','$iscommend','$ismake','$channelid',
'$arcrank','0','$money','$title','$shorttitle','$color','$writer','$source','$litpic',
'$pubdate','$senddate','$arcatt','$adminID','0','$description','$keywords','$templet','$redirecturl','$likeid');";
?>

我们只需要在其中加入我们增加的字段“editor”,将其变为下列形式:
以下为引用的内容:
dede_archives(
typeid,typeid2,sortrank,iscommend,ismake,channel,
arcrank,click,money,title,shorttitle,color,writer,editor,source,litpic,
pubdate,senddate,arcatt,adminID,memberID,description,keywords,templet,redirecturl,likeid)
VALUES ('$typeid','$typeid2','$sortrank','$iscommend','$ismake','$channelid',
'$arcrank','0','$money','$title','$shorttitle','$color','$writer','$editor','$source','$litpic',
'$pubdate','$senddate','$arcatt','$adminID','0','$description','$keywords','$templet','$redirecturl','$likeid');";
?>

        这里添加内容页面我们已经修改完成了,下面就是调用,我们可以使用标记进行调用,我们在模板中,即/templets/article_*.htm(*代表任何内容),这里我们修改的是文章模型,所以只需要在/templets/article_artcile.htm相应地方加入标记:{dede:field name='editor' /},即可,看看我们的效果吧。



        按照同样办法,你可以修改其他发布页面,但是不要忘记还要修改内容编辑页面,这样使得我们的程序更完美。
提示下,内容编辑页面文件名分别是/dede/templets/article_edit.htm以及/dede/action/article_eidt_action.php,与添加页面不用是,在模板中增加的文本框默认内容是“”,如图所示:


好了,增加字段我们这里就讲完了,不知道大家还有什么问题,如果有问题可以在织梦官网论坛
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端