公告:如果您的账号不能登录,可能是系统对您账号进行了保护,我们发现系统中存在着不安全密码,故对其重置,请您重新激活账号,对于给您造成的不便,敬请谅解!
论坛风格切换切换到宽版
  • 94742阅读
  • 121回复

Dedecms模型增加字段教程 [复制链接]

上一主题 下一主题
离线天涯
 

发帖
6046
贡献值
6225
威望值
3543
技术分
0
织梦币
5
只看楼主 倒序阅读 使用道具 0 发表于: 2007-12-14
— 本帖被 无法显示 执行加亮操作(2007-12-14) —
[sell=1]        很多网友反应,如何在现有发布模型基础上增加字段,例如在文章模型中增加“责任编辑”这一项,今天天涯就来教大家如何进行发布字段的增加。本教程适合有一定HTML基础、PHP基础的新手。
        首先了解dedecms的内容表存储结构,本教程针以dedecms V5为例,dedecms内容存储有一个主表#@__archives,所有内容的一些公用字段都存储在该表中,例如“标题”、“作者”、“发布时间”等,还有表就是#@__addon(*) 这个表存储的是内容的附加字段,例如文章模型,如果你发布一篇文章,文章标题、作者、发布时间等存放在#@__archives,然后内容存放在#@__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行,这里是为#@__archives增加内容的SQL语句,

以下为引用的内容:
<?php //加入数据库的SQL语句
//----------------------------------
$inQuery = "INSERT INTO #@__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”,将其变为下列形式:

以下为引用的内容:
<?php //加入数据库的SQL语句
//----------------------------------
$inQuery = "INSERT INTO #@__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,与添加页面不用是,在模板中增加的    文本框默认内容是
“<?php echo $arcRow["editor"]?>”,如图所示:

好了,增加字段我们这里就讲完了,不知道大家还有什么问题,如果有问题可以在织梦官网论坛(http://bbs.dedecms.com)进行讨论,或者加入QQ群:25788254(dedecms2007技术群)进行讨论。

本站首发,欢迎转载,注明作者:寂寞天涯,来源:www.lucms.com
[/sell]
2条评分
rinipp 威望 +2 2007-12-14
6sky 威望 +2 优秀文章 2007-12-14
离线申通
发帖
10288
贡献值
142
威望值
7241
技术分
0
织梦币
0
只看该作者 1 发表于: 2007-12-14
沙发哦
 
离线kkndyyrolf

发帖
36
贡献值
1
威望值
34
技术分
0
织梦币
0
只看该作者 2 发表于: 2007-12-14
这个熊猫一点都不可爱,能不能换一些,用熊猫烧香的吧
 
离线kkndyyrolf

发帖
36
贡献值
1
威望值
34
技术分
0
织梦币
0
只看该作者 3 发表于: 2007-12-14
回复是为了把花出去的钱,赚回来
离线asku
发帖
109
贡献值
5
威望值
103
技术分
0
织梦币
0
只看该作者 4 发表于: 2007-12-14
第一个 买了看看!
离线天涯

发帖
6046
贡献值
6225
威望值
3543
技术分
0
织梦币
5
只看该作者 5 发表于: 2007-12-14
回过头,终于射精了
离线vinsony

发帖
336
贡献值
49
威望值
460
技术分
0
织梦币
0
只看该作者 6 发表于: 2007-12-14
群:2121389
离线cect

发帖
296
贡献值
-757
威望值
63
技术分
0
织梦币
0
只看该作者 7 发表于: 2007-12-14
这样的教程不错应该多来点。。要是语音动画的就更棒了。。  
离线jinbat

发帖
449
贡献值
-336
威望值
44
技术分
0
织梦币
0
只看该作者 8 发表于: 2007-12-14
用户被禁言,该主题自动屏蔽!
离线萧天
发帖
439
贡献值
2
威望值
337
技术分
0
织梦币
0
只看该作者 9 发表于: 2007-12-14
看看  把钱话出去.
精仿模板 Q 839551668