欢迎加入QQ群(48608218)讨论建站技术。
网站地址:http://www.cmshelp.com.cn/
更多关于dedecms的技术文章,请参考:http://www.blog-dragon.com/category/dedecms-blt
第一节 了解 dedecms
1
、什么是dedecms
是一个网站应用系统构建平台,也是一个强大的网站内容管理系统。既可以用来构建复杂体系的企业信息门户或电子商务网站平台,也可以用来管理简单内容发布网站,不管是商务资源门户还是娱乐信息门户,它都是您管理网站的好帮手,能帮助您最大限度的去自由发挥您的网站设计天才,更轻松的驾驭管理您的网站而不需要非常专业的网站技术,使您把网站设计变成更加乐趣的工作,让您满足想到就会做到的梦想。借助灵活而强大的处理技术和先进的网站管理思想所构建出的软件,使您天才的设计思想在网站创意及管理等多方面尽情的去自由发挥而不受束缚。
作者:林学(IT柏拉图)
关于林学:
《
专访“IT柏拉图”:让全世界都看到中国开源CMS!》,地址:
http://www.dedecms.com/html/CMS/20070531/38905.html
2
、系统需求
DedeCms基于php语言开发,需要以下环境支持:
服务器平台:
Linux、 FreeBSD、Solaris、 Unix、 Win2000、Win2003
Web服务器运行环境:
Apache1.3.XX(2.0.XX) / IIS5(6) + php4.3.X/4.4X/5.x + MySQL3.2X/4.0x+
Apache1.3.XX(2.0.XX) / IIS5(6) + php4.3.X/4.4X/5.x + MySQL3.2X/4.0x+
补充说明:
1)要正常使用DedeCms的各项功能,php还需要支持GD扩展(建议GD版本不低于2.0)
2)后台管理端目前只支持Internet Explorer,并且要求版本不低于6.0,否则可能会导致未知错误(编辑器不显示等等,此问题在4.0版中已经修正,可选支持开源的FCK编辑器)。
2)后台管理端目前只支持Internet Explorer,并且要求版本不低于6.0,否则可能会导致未知错误(编辑器不显示等等,此问题在4.0版中已经修正,可选支持开源的FCK编辑器)。
我的使用环境:
调试:windows2003/Apache2.2.4/Mysql5.0/php5.2/dedecms4.0RC
服务器:FreeBSD6.2/apache2.2.4/mysql-5.0.41/ php-5.2.3
3
、系统主要特点
1)频道模型管理
DedeCms自带普通文章、软件、图片集、Flash、专题五种固定模型,用户还可以根据自己的需要扩展自定义模型,用户可以在后台决定是否启用某个频道模型。
DedeCms自带普通文章、软件、图片集、Flash、专题五种固定模型,用户还可以根据自己的需要扩展自定义模型,用户可以在后台决定是否启用某个频道模型。
2)栏目管理
DedeCms栏目与频道模型是关连的,支持无限级分类,允许用户手动选择单个栏目的模板,允许用户自行设定栏目列表和文档的命名规则,允许使用一个单独页面作为栏目,支持自动用拼音作为文档的名称。
3)内容发布
支持自定义模型,内容发布也分是固定的发布表单还是可变的发布表单,但在DedeCms中,所有内容的摘要信息都会视作统一的模式,可以统一导出为RSS链接,因此内容发布的摘要信息是固定的,而具体内容则是可变的。
4)增强的文章系统
DedeCms内置的文章系统模型更注重全文索引、搜索引擎优化等方面,支持将远程媒体本地化,支持自动获取关键字,并生成索引,支持从Word里粘贴内容,此外对文章关键字、置顶、高亮这些细节的地方也作了处理。
5)专题
DedeCms的专题模块支持使用多个分类节点,文章列表支持用多列或图文的形式展现,有更高的灵活性。
6)采集系统
DedeCms提供在线的采集系统,这个版本的采集系统是一个通用的采集系统,有通用的扩展接口,理论上能采集任何模型的内容,可采集文章及图片类型。
问题:采集系统和常见的采集系统大同小异,但是对html代码过滤设计不人性化,可参考文档:
http://blog.youkuaiyun.com/expendable/archive/2007/08/30/1764680.aspx
7)外部系统整合
DedeCms提供了整合外部会员系统的接口,对于有特殊需求的用户,可以随心所欲的让DedeCms内置的会员系统与你网站的其它系统任意通行。
目前已经编写好的API接口文件的程序在下面列表中
PW 4.3.2 / 5.3
DZ 5.0/5.5
DVBBS-ASP 7.10
DVBBS-PHP 1.03
8)人性化
DedeCms提供了很多的实用工具让用户更容易使用这套系统,例如文档批量生成、数据库内容替换、正则表达式测试工具、重复文档检测、批量自动摘要/分页、网站木马扫描检测、随机模板防采集等。
9)自定义标记
DedeCms支持自定义标记,并且允许在自定义标记中使用模板代码,允许对不同的类别使用不同的内容,使系统的灵活性达到前所未有的高度。
10)常用附件
DedeCms 提供了投票、友情链接、站点公告、留言本、论坛扩展等附助模板,使你更轻松的创建你的网站。
11)一键备份功能
DedeCms使用一键对数据库所有内容进行分卷备份,除了备份数据之外还备份数据结构等信息,确保你的网站可以轻松的实现转移或灾难恢复。
12)插件管理机制
DedeCms带有插件管理的功能,你可在后台禁用不需要的插件或安装新的插件。
4
、我用dedecms
感受
优点:
1)开源
国内号称开源的cms不少,但是真正有诚意的并不多;
2)灵活
DedeCms的标签模板技术是其灵活的主要原因,原则上可以利用其标签搭建完全不同的各式站点;
3)模板直观,制作简单
由于是嵌入标签,标签的解析由程序完成,不包含php标签,因此dede的模板更加直观,由于dede标签技术相对较容易掌握,模板的制作显得比较简单;
4)效率还不错
感觉整个系统功能比较单一,不臃肿。
缺点:
1)程序更新速度慢
2)数据量较大情况下,效率受到影响(数据结构设计的硬伤)
3)功能相对简单
4)系统默认模板太粗糙
5)会员部分太粗糙
6)技术支持和服务较差
7)没有官方的UTF-8版本及BIG5版本
第二节
安装及使用
dedecms
1
、如何安装dedecms
注意事项:
1)初学者建议安装到网站根目录;
2)安装前检查 include和dede/templets目录是否有可写和可修改权限;
3)安装后删除或者重命名setup目录;
2
、认识dedecms
目录
安装后dedecms的目录如下表:
根目录
| |
/dede
|
管理后台目录
|
/freelist
|
自由文档列表生成目录
|
/html
|
默认文章生成目录
|
/include
|
程序核心文件目录
|
/member
|
会员管理目录
|
/plus
|
插件及辅助功能目录
|
/setup
|
安装目录
|
/special
|
专题生成目录
|
/templets
|
默认模板存放目录
|
/upimg
|
上传下载文件保存目录
|
base.css
|
基本样式表
|
index.php
|
网站默认首页
|
robots.txt
|
搜索控制文件
|
3
、dedecms
模板制作
1)模板位置及目录结构
/templets
模板目录
| |
/dedecmsv31
|
3
模板目录
|
/default
|
默认模板目录
|
article_article.htm
|
普通文章页面模板
|
article_default.htm
|
一般文档页面模板
|
article_flash.htm
|
flash
页面模板
|
article_image.htm
|
图集页面模板
|
article_soft.htm
|
软件页面模板
|
article_spec.htm
|
专题页面模板
|
index.htm
|
网站首页模板
|
index_article.htm
|
文章频道封面模板
|
index_article_webart1.htm
|
备用模板
|
index_article_webart2.htm
|
备用模板
|
index_article_webart.htm
|
备用模板
|
index_default.htm
|
一般文档封面模板
|
index_flash.htm
|
flash
频道封面模板
|
index_image.htm
|
图集频道封面模板
|
index_soft.htm
|
软件频道封面模板
|
list_article.htm
|
文章列表模板
|
list_default.htm
|
一般文档列表目录模板
|
list_flash.htm
|
flash
文档列表模板
|
list_free.htm
|
自由列表模板
|
list_image.htm
|
图集列表模板
|
list_soft.htm
|
软件列表模板
|
list_spec.htm
|
专题列表模板
|
/img
|
模板图片目录(含样式表)
|
/plus
|
辅助插件模板目录
|
download_links_templet.htm
|
下载链接模板
|
feedback_confirm.htm
|
评论确认模板
|
feedback_templet.htm
|
用户评论模板
|
feedback_templet_js.htm
|
同上
|
flink-add.htm
|
友情链接添加模板
|
flink-list.htm
|
友情链接列表模板
|
guestbook.htm
|
留言本模板
|
heightsearch.htm
|
高级搜索模板
|
js.htm
|
JS
脚本模板
|
recommend.htm
|
推荐好友模板
|
rss.htm
|
RSS
的XML模板
|
rssmap.htm
|
RSS
订阅文件
|
showphoto.htm
|
图片显示模板
|
sitemap.htm
|
网站地图模板
|
view_msg.htm
|
会员提示信息模板
|
vote.htm
|
投票结果显示模板
|
/system
|
系统模板目录
|
channel_list.htm
|
栏目列表系统模板
|
list_fulllist.htm
|
文档列表系统模板
|
mynews.htm
|
站内新闻系统模板
|
part_arclist.htm
|
文章列表系统模板
|
part_autochannel.htm
|
分类栏目系统模板
|
part_channelartlist.htm
|
包含文章列表的栏目系统模板
|
part_imginfolist.htm
|
使用imginfolist标签调用的模板
|
part_imglist.htm
|
使用imglist标签调用的模板
|
part_type_list.htm
|
单个栏目的系统模板
|
spec_arclist.htm
|
专题列表文章系统模板
|
spec_list.htm
|
专题用模板
|
tag_arclist.htm
| |
tag_fieldlist.htm
|
fieldlist
用系统模板
|
/system/channel
|
频道特殊底层模板目录
|
channel_downlinkpage.htm
|
下载地址列表链接模板
|
channel_downlinks.htm
|
下载地址列表模板
|
channel_spec_note.htm
|
专题节点列表模板
|
2)模板制作及发布方法
建议方法:①制作网站模板②参考官方模板在对应地方填入对应dede标签③替换
templets/default
目录下的对应文件
④
后台系统设置中,自定义“模板默认风格(cfg_df_style)”变量,讲模板放入自建的目录中
3
)DedeCms的标签介绍
4
、参考工具及文档
1)dede标签编写插件:DedeCms For DW 模板制作插件
http://www.dedecms.com/html/chanpinxiazai/20070112/64.html
2)dedecms模板标签参考.chm
第三节
对
dedecms
进行二次开发
部分功能扩展,请参考肥龙龙blog:
http://blog.youkuaiyun.com/expendable
1
、程序核心程序目录及简介
/include
目录 程序核心目录
| |
config_base.php
|
环境定义文件。用于检测系统环境,定义工作目录,保存数据库链接信息,引入常用函数等,建议不要修改。
|
config_hand.php
|
系统配置文件。定义系统常用的配置信息定义,可从后台管理直接生成该文件。
|
config_passport.php
|
通行证文件
|
config_rglobals.php
|
检测系统外部变量
|
config_rglobals_magic.php
|
同上
|
inc_archives_view.php
|
用于浏览文档或对文档生成HTML
|
inc_arclist_view.php
|
用于浏览频道列表或对内容列表生成HTML
|
inc_arcmember_view.php
|
用于浏览会员发布的文档
|
inc_arcpart_view.php
|
用于解析和创建全局性质的模板,如频道封面,主页,单个页面等
|
inc_arcsearch_view.php
|
用于文档搜索
|
inc_arcspec_view.php
|
用于浏览所有专题列表或对专题列表生成HTML
|
inc_channel_unit.php
|
用户解析特定频道的附加数据结构信息
|
inc_channel_unit_functions.php
|
系统共用函数集合
|
inc_downclass.php
|
防采集随机字符串函数
|
inc_freelist_view.php
|
用于对特定内容列表生成HTML
|
inc_functions.php
|
可供用户使用的函数集合
|
inc_imgbt.php
|
GetTypeidSelMember
|
inc_memberlogin.php
|
用于用户登录及获得会员状态
|
inc_photograph.php
|
用于处理系统中的图片,例如水印,缩略图等
|
inc_photowatermark_config.php
|
图片处理参数定义
|
inc_rss_view.php
|
用于浏览频道RSS或对RSS生成静态文件
|
inc_separate_functions.php
|
SpGetArcList
函数,用于获得文档列表
|
inc_sitemap.php
|
用于生成网站地图
|
inc_type_tree.php
|
用于选择栏目的目录树
|
inc_type_tree_member.php
|
同上,会员使用
|
inc_typelink.php
|
用于显示文章的位置和栏目位置等
|
inc_typeunit_admin.php
|
用于频道管理时的一些复杂操作,主要用于后台
|
inc_typeunit_menu.php
|
同上
|
inc_userlogin.php
|
用于管理员登录
|
inc_vote.php
|
用于管理投票
|
jump.php
|
用于超链接跳转
|
pub_charset.php
|
共用字符处理函数,GB/UTF-8/Unicode/BIG5等互换
|
pub_collection.php
|
用于采集
|
pub_collection_functions.php
|
采集用函数
|
pub_datalist.php
|
后台管理用数据列表
|
pub_datalist_dm.php
|
同上,不使用模板
|
pub_db_mysql.php
|
用于操作数据库
|
pub_dedehtml2.php
|
用于采集中的HTML解析
|
pub_dedehtml.php
|
HTML
解析器
|
pub_dedetag.php
|
用于dede模板标签解析
|
pub_httpdown.php
|
用于下载http中的资源
|
pub_oxwindow.php
|
后台程序扩展
|
pub_splitword_www.php
|
织梦分词算法
|
validateimg.php
|
验证码
|
vdimgck.php
|
验证码
|
/inc
|
共用函数目录
|
inc_fun_funAdmin.php
|
获取拼音码等函数
|
inc_fun_funString.php
|
html
代码处理等函数
|
inc_fun_SpGetArcList.php
|
获取文档列表SpGetArcList
|
2
、主要数据结构表
dede_addonarticle
|
附加文章表
| |
aid
|
int(11)
|
文章编号
|
typeid
|
int(11)
|
分类栏目编号
|
body
|
mediumtext
|
文章内容
|
dede_addonflash
|
附加
Flash
表
| |
aid
|
int(11)
|
FLASH
编号
|
typeid
|
int(11)
|
分类栏目编号
|
filesize
|
varchar(10)
|
文件大小
|
playtime
|
varchar(10)
|
播放时长
|
flashtype
|
varchar(10)
|
作品类型
|
flashrank
|
smallint(6)
|
作品等级
|
width
|
smallint(6)
|
影片宽度
|
height
|
smallint(6)
|
影片高度
|
flashurl
|
varchar(80)
|
FLASH
地址
|
dede_addonimages
|
附加图集表
| |
aid
|
int(11)
|
图集编号
|
typeid
|
int(11)
|
分类栏目编号
|
pagestyle
|
smallint(6)
|
表现方式(1单页显示 2分多页显示 3多行多列展示)
|
maxwidth
|
smallint(6)
|
大图限制宽度
|
imgurls
|
text
|
图片集内容(标签存放)
|
row
|
smallint(6)
|
多列式参数(行)
|
col
|
smallint(6)
|
多列式参数(列)
|
isrm
|
smallint(6)
|
是否下载远程图片
|
ddmaxwidth
|
smallint(6)
|
小图片宽度限制
|
dede_addonsoft
|
附加软件表
| |
aid
|
int(11)
|
软件编号
|
typeid
|
int(11)
|
分类栏目编号
|
filetype
|
varchar(10)
|
文件类型
|
language
|
varchar(10)
|
界面语言
|
softtype
|
varchar(10)
|
软件类型
|
accredit
|
varchar(10)
|
授权方式
|
os
|
varchar(30)
|
运行环境
|
softrank
|
int(11)
|
软件等级
|
officialUrl
|
varchar(30)
|
官方网址
|
officialDemo
|
varchar(50)
|
程序演示地址
|
softsize
|
varchar(10)
|
软件大小
|
softlinks
|
text
|
软件下载链接列表
|
introduce
|
text
|
软件介绍
|
dede_addonspec
|
附加专题表
| |
aid
|
int(11)
|
专题编号
|
typeid
|
int(11)
|
分类栏目编号
|
note
|
text
|
专题内容(仅存放标签代码)
|
dede_admin
|
管理员信息表
| |
ID
|
int(10)
|
自动编号
|
usertype
|
int(10)
|
用户类型
|
userid
|
varchar(30)
|
用户登录ID
|
pwd
|
varchar(50)
|
用户密码
|
uname
|
varchar(20)
|
用户笔名
|
tname
|
varchar(30)
|
真实姓名
|
email
|
varchar(30)
|
电子邮箱
|
typeid
|
int(11)
|
负责频道(0表示全部)
|
logintime
|
datetime
|
登录时间
|
loginip
|
varchar(20)
|
登录IP
|
dede_admintype
|
系统用户组管理表
| |
rank
|
smallint(6)
|
组级别编号
|
typename
|
varchar(30)
|
组名称
|
system
|
smallint(6)
|
是否为系统默认组
|
purviews
|
text
|
权限列表
|
dede_arcatt
|
文档自定义属性表
| |
att
|
smallint(6)
|
编号
|
attname
|
varchar(30)
|
属性名称
|
dede_archives
|
文章表
| |
ID
|
int(11)
|
自动编号
|
typeid
|
int(11)
|
所属主栏目编号
|
typeid2
|
int(11)
|
所属副栏目编号
|
sortrank
|
int(11)
|
文章排序(置顶方法)
|
iscommend
|
smallint(6)
|
是否推荐
|
ismake
|
smallint(6)
|
是否生成静态
|
channel
|
int(11)
|
文章所属模型
|
arcrank
|
smallint(6)
|
阅读权限
|
click
|
int(11)
|
点击次数
|
money
|
smallint(6)
|
消费点数
|
title
|
varchar(80)
|
标题
|
shorttitle
|
varchar(36)
|
简略标题
|
color
|
varchar(10)
|
标题颜色
|
writer
|
varchar(30)
|
作者
|
source
|
varchar(50)
|
来源
|
litpic
|
varchar(100)
|
缩略图
|
pubdate
|
int(11)
|
录入时间
|
senddate
|
int(11)
|
发布时间
|
arcatt
|
smallint(6)
|
自定属性(att)
|
adminID
|
int(11)
|
发布管理员ID
|
memberID
|
int(11)
|
发布会员ID
|
description
|
varchar(250)
|
摘要
|
keywords
|
varchar(60)
|
关键词
|
templet
|
varchar(60)
|
文档模板
|
lastpost
|
int(11)
|
最近评论时间
|
postnum
|
int(11)
|
评论数目
|
redirecturl
|
varchar(150)
|
跳转网址
|
mtype
|
int(11)
|
用户自定义分类
|
userip
|
varchar(20)
|
用户IP
|
locklikeid
|
smallint(6)
|
是否锁定相关文章
|
likeid
|
varchar(240)
|
相关文章ID
|
dede_arcrank
|
阅读权限表
| |
ID
|
int(10)
|
自动编号
|
rank
|
smallint(10)
|
权限等级
|
membername
|
varchar(20)
|
等级名称
|
adminrank
|
smallint(10)
|
管理等级
|
money
|
int(11)
|
消费点数
|
dede_arctype
|
栏目管理表
| |
ID
|
int(10)
|
栏目编号(自动编号)
|
reID
|
int(10)
|
父栏目编号
|
topID
|
int(10)
|
|
sortrank
|
smallint(6)
|
排序编号
|
typename
|
varchar(30)
|
栏目名称
|
typedir
|
varchar(100)
|
栏目目录
|
isdefault
|
smallint(6)
|
栏目列表选项(1链接到默认页 0链接到列表第一页 -1使用动态页)
|
defaultname
|
varchar(20)
|
默认页的名称
|
issend
|
smallint(6)
|
是否支持投稿
|
channeltype
|
smallint(6)
|
频道类型
|
maxpage
|
int(11)
|
保留
|
ispart
|
smallint(6)
|
栏目属性
|
corank
|
smallint(6)
|
浏览权限
|
tempindex
|
varchar(60)
|
封面模板
|
templist
|
varchar(60)
|
列表模板
|
temparticle
|
varchar(60)
|
文章模板
|
tempone
|
varchar(60)
|
单独页面模板
|
namerule
|
varchar(50)
|
文章命名规则
|
namerule2
|
varchar(50)
|
列表命名规则
|
modname
|
varchar(30)
|
模板名称
|
description
|
varchar(200)
|
栏目介绍
|
keywords
|
varchar(100)
|
关键词
|
moresite
|
smallint(6)
|
多站点支持
|
siterefer
|
smallint(6)
|
多站点站点根目录属性
|
sitepath
|
varchar(60)
|
多站点站点根目录
|
siteurl
|
varchar(60)
|
多站点绑定域名
|
ishidden
|
smallint(6)
|
是否隐藏栏目
|
dede_area
|
地区表
| |
eid
|
int(11)
|
地区编号
|
name
|
varchar(20)
|
地区名称
|
rid
|
int(11)
|
编号属性
|
此表未完待续…