网络营销电子商务研究中心  
How to buy the best prescription safety glasses in Canada? Let's study!
Go Back   网络营销电子商务研究中心 > 网站建设 > DedeCMS
User Name
Password
 
FAQ Members List Calendar Cheap Glasses

Reply
 
Thread Tools Display Modes
  #1   IP: 49.87.40.201
Old 2014-03-16, 05:16 PM
topvip topvip is offline
超级版主
 
Join Date: 2006-01-04
Posts: 1206
topvip 正向着好的方向发展
Default Dedecms 增加字段

很多网友反映,如何在现有发布模型基础上增加字段,例如在文章模型中增加“责任编辑”这一项,今天天涯就来教大家如何进行发布字段的增加。本教程适合有一定HTML基础、PHP基础的新手。
首先了解dedecms的内容表存储结构,本教程针以dedecms V5为例,dedecms内容存储有一个主表dede_archives,所有内容的一些公用字段都存储在该表中,例如“标题”、“作者”、“发布时间”等,还有表就是dede_addon(*) 这个表存储的是内容的附加字段,例如文章模型,如果你发布一篇文章,文章标题、作者、发布时间等存放在dede_archives,然后内容存放在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这个文件,在相应地方添加一个表单,如图所示:


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


找到第123行,这里是为dede_archives增加内容的SQL语句,


以下为引用的内容:


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

以下为引用的内容:

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



好了,增加字段我们这里就讲完了
Attached Images
File Type: jpg 2302070.jpg (778 KB, 1 views)
File Type: jpg 2302071.jpg (271 KB, 1 views)
File Type: jpg 2302072.jpg (499 KB, 1 views)
File Type: jpg 2302073.jpg (600 KB, 1 views)
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
dedecms使用sql批量维护网站内容 topvip DedeCMS 0 2011-03-20 06:59 AM
Dedecms教程:栏目页面转换为单独页面 topvip DedeCMS 0 2010-09-09 12:44 AM
dedecms英文模板 英文网站程序的选择 topvip DedeCMS 0 2010-09-06 09:16 PM
使用dedecms制作英文站的技巧说明 topvip DedeCMS 0 2010-09-06 09:12 PM
dedecms 5.1 utf-8版本英文修改方法 topvip DedeCMS 0 2010-09-06 09:09 PM

Prescription-glasses.com offers prescription glasses online at discount prices.
All times are GMT +8. The time now is 07:52 AM.


Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.