动易网站管理系统SiteWeaver CMS6.5源码个人肤浅的分析
本系统主要面向中小型企业的建站方案,包含了很多功能强大的常用模块。
例如:免费产品中包含的模块为
新闻发布系统
图片管理系统
文件下载系统
留言板系统
动易商城系统
以及付费的系统模块如:企业门户,教育门户,政府门户,行业门户,招聘求职系统等。
CMS6.5的设计较好地实现了皮肤与代码的分离:
各功能模块的代码独立设计在一个文件中,
并将所有功能模块的代码集中放在文件夹Include里,如:
新闻发布系统的功能模块文件为PowerEasy.Article.asp和PowerEasy.ArticleList.asp
图片管理系统的为PowerEasy.Photo.asp
文件下载系统的为PowerEasy.Soft.asp
留言板系统的为PowerEasy.GuestBook.asp
各模块的前台页面独立放在所属模块的文件夹中,如:
文件夹Article存放新闻发布系统的前台页面
文件夹Photo存放图片管理系统的前台页面
文件夹Soft存放文件下载系统的前台页面
文件夹GuestBook存放留言板系统的前台页面
文件夹JS主要就是本站大多数页面公用的前台功能和函数,如:
ShowAnnounce1.js用于输出网站公告
ShowAnnounce2.js用于输出网站各频道的公告
ShowVote.js用于输出投票内容
TreeGuide.js用于输出各频道栏目的树形菜单
Menu.js为下拉菜单相关代码
Checklogin.js判断用户是否登陆以决定前台页面显示的内容
gb_big5.js用于实现网站的简体字和繁体字的转换
Date.js用于输出系统的当前时间,例如:2008年2月14日 星期四
文件夹Language里唯一的文件Gb2312.xml主要存储了网站的所有公用文字。
文件夹Inc
包含的CheckCode.asp用于生成用户和管理员登陆时的验证码
包含的CheckList.asp被后台的三个文件Admin_Article.asp,Admin_Photo.asp和Admin_Soft.asp调用,用途未知
文件夹API
API_Config.asp链接动网论坛和博客的接口文件,主要是论坛和博客的链接地址
API_Function.asp大多包含了操作XML文件的方法,读写修改判断节点创建XML对象等
API_Response.asp包含了创建和清除用户信息的cookies,以及一些操作用户信息的相关方法,但网站中并未有其他文件引用它,用途未知
Request.xml被API_function.asp和后台的Admin_User.asp使用
Response.xml仅被API_function.asp使用,两个xml文件包含的都是用户的信息
其他的文件夹看名字比较好理解,现也简介如下:
FriendSite存放友情链接相关程序及页面文件
Editor在线编辑器模块
PayOnline在线支付系统
Count统计网站在线访问情况,后台管理页和前台页都有调用
User用户中心的相关程序及页面文件
Wap 手机访问功能,暂时未启用
Reg用户注册系统,用于验证和注册
AD各频道栏目页的图片广告发布系统
Space聚合空间的相关程序及页面文件
AuthorPic存放文章作者的使用的图片
Skin网站所包含的网页模板的样式,按模板的文件夹来区分
Images网站任何模板所公用的图片文件
Admin后台管理目录,包含文件夹Databackup。为了安全可登陆管理后台修改该目录名
Database存放Access数据库,修改后只需要修改start.asp文件的数据库连接串即可
以下三个文件夹的作用还未知,有待分析:
文件夹Temp:包含一些数据库,大多数没有数据记录
文件夹CopyFromPic:不知道存放哪里拷贝来的图片,用在哪个模块
文件夹xml:存放了一些Blog系统的XSL样式文件。其中还包含了在后台由管理员指定要生成的频道的所有栏目的xml文件,该xml文件用途也未知,如:nav_1004,其中1004为频道ID
当我们在后台添加网站频道的时候,该频道的前台页面会在网站根目录中生成,
例如添加一个名为“科研天地”的频道,频道文件夹取名为“keyantiandi”,则该频道的文件夹keyantiandi将生成在网站根目录下,文件夹内包含所有该频道的前台页面文件,这些前台页面文件由该频道所采用的功能模块决定。由于“科研天地”采用的是文章模块,所以前台页面文件和系统的文章模块Article文件夹的相同
所以网站的根目录里会生成自定义频道的所有文件夹
网站根目录下的文件也简介如下:
大多是前台页面,由文件名顾名思义如:
Vote.asp投票结果页面
Announce.asp公告内容页面
RSS.asp新闻订阅
Search.asp搜索结果页面
ShowUser.asp显示指定会员的信息
UserList.asp所有会员的列表
被前台页面引用的文件,如:
Conn.asp数据库连接串
Config.asp网站的配置信息
Editor.asp在线编辑器的调用页
NewComment.asp页面中显示几条最新评论的那部分
Region.asp页面中显示用户所在区域的那部分
SetCookie.asp没有文件调用,用于保存网站皮肤ID到cookie中
Dyna_Page.asp仅被js/checklogin.js调用,通过Ajax技术异步获取用户数据
Start.asp网页必包含的文件,因为其包含了conn.asp且初始化了网站的所有配置信息
UserLogin.asp页面中显示用户登陆后个人数据的那部分,如:admin,上午好! 【会员中心】
网站的文件组织结构分析完毕,具体每个文件的功能作用要在实际使用过程中找到相应的代码来阅读。
后台的文件都把HTML代码通过ASP的response方法输出
未使用皮肤和代码分离,给阅读和修改代码麻烦
也调用了部分前台文件
由于swcms6.5网站会持续更新
为防止阅读文件的注释被更新的文件覆盖掉
建议用代码管理器来管理好阅读过的文件的更新版本及其相应注释
即可以不破坏源文件的代码,还可以使用网站后台的“在线比较网站文件”功能确保网站的安全性。
因为该网站包含的功能模块相当多,为了满足中小企业的网站建设要求,应该对网站的常用功能模块深入了解,并能够在现有代码的基础上增减修改以满足使用需要
因此要分门别类的将网站整体分割出若干功能模块出来
未使用到的功能代码也不必删除,进行注释即可,这样方便以后的扩展和调用
例如:以上提到的文章发布,下载,留言板等系统
还有一些包含在其中的小模块,如:
1.网站的缓存技术
2.皮肤与代码分离技术
3.ASP转HTML的技术
4.单/多文件上传系统
5.模板能够在线更换和编辑的技术
6.后台的频道管理菜单可增减的技术
7.在线管理上传的文件且能够分辨出上传的文件是否有用的技术
8.数据库的备分和还原
9.复杂的会员管理系统
就如何制作出更具个性化的模板并和现有系统代码很好地整合这个问题
准备写一篇关于动易网站模板制作的思路和体会,并最终完成一个应用动易swcms6.5的后台框架制作出一个中小型网站