jcms二次开发文档(完成)

jcms二次开发文档(完成)
jcms二次开发文档(完成)

随风缘网站内容管理系统JumbotCmsV2009

二次开发手册

2009年

目录

1 模块开发 (3)

1.1模块分析 (3)

1.2表字段修改/新表创建 (6)

1.2.1 修改用户表 (7)

1.2.2 修改栏目表 (7)

1.2.3 创建军种兵种表 (7)

1.2.4 创建译文表 (7)

1.2.5 创建日志表 (8)

1.3后台程序设计 (8)

1.3.1 克隆下载模块项目 (8)

1.3.2 替换相关内容 (8)

1.3.3 页面和程序修改 (11)

1.3.3.1 后台译文列表页 (11)

1.3.3.2 后台译文ajax页 (11)

1.3.3.3 后台译文编辑页面 (13)

1.3.3.4 前台内容页 (24)

2 插件开发 (32)

2.1插件规范 (32)

2.1.1 命名空间的规范 (32)

2.1.2 文件路径的规范 (33)

2.2插件开发结束语 (35)

1模块开发

好多朋友都想让我写一个详细的手册,我真是没有太多的时间去写……

这次正好老板要求我二次开发一个以前的东西(asp),需要加入新闻模块,我琢磨了半天,反正东西也不多,干脆就是用jumbotcms重新做,顺便写一个详细的开发笔记,好,现在就开始,GO~~

1.1 模块分析

首先来看一下那套系统的功能:网站配置、添加文章、文章管理、文章分类、军种兵种、用户管理、下载日志等,细细分析一下便知,网站配置、文章分类、用户管理等都是不需要再重新开发的(jumbotcms系统现有的),只做稍微的调整即可。

管理后台功能菜单

网站配置

与原jumbotcms系统相比,多了一个“单位名称”,这个属性完全可以在前台模板里设置,可有可无,去除即可。

文章编辑表单

这是译文的全部信息,研究半天,发现它更接近当前的“下载模块”,稍后我们就拿“下载模块”的程序进行改造即可。

军种/兵种编辑表单

军种和兵种:需要重新设计,但不难,类似于栏目管理,到时也改造一下即可。

栏目编辑表单

这里比原来的栏目多了一个“编号”

这里多了“点数”和“到期时间VIP用户”,这可以在当前的用户表增加2个字段。

这需要重新设计,主要是对某位“译者”翻译的文章附件被下载的情况进行统计,然后根据情况给予相应报酬。

这样一来,思路很清晰了:

1、jcms_normal_user用户表表只要增加一个字段“积分”、用于控制会员下载资料时

扣分用的。

2、jcms_normal_class栏目表增加一个字段“编号”。

3、创建一个“军种兵种”表,取名为jcms_module_version_arms。

4、创建一个译文表,取名为jcms_module_version。

5、创建一个日志表jcms_module_version_downlogs,用于记录会员下载资料的。

6、前后台代码、模板都可仿造Down模块。

1.2 表字段修改/新表创建

熟悉脚本的朋友可以直接在后台对数据库进行升级,不熟悉的朋友就只有手工去改数

JumbotCms二次开发手册据库了。

1.2.1修改用户表

增加int型字段Points。

1.2.2修改栏目表

增加varchar型字段Number,字段大小为10。

1.2.3创建军种兵种表

1.2.4创建译文表

1.2.5创建日志表

1.3 后台程序设计

1.3.1克隆下载模块项目

因为之前说过模块之间都是有相同点的,而和译文模块最接近的就是下载模块(当然你可以创建全新的项目,只因为本人在学校时数学还不错,知道如何找同类项,这个“优点”让我在程序开发中受益匪浅)。

将JumbotCms2009.Modules.Soft文件夹复制并取名为JumbotCms2009.Modules.V ersion。1.3.2替换相关内容

1、使用VS2008打开JJumbotCms2009.Modules.Soft.csproj;

2、将相关的名称改掉;

3、打开项目属性,修改程序集名称和默认命名空间;

修改前结构

修改后结构

修改前

修改后

4、替换“Soft”为“V ersion”,替换“soft”为“version”,为保证正确无误,不建议批量替换,我选择逐个查找替换;

以上工作完成后,初步的框架已经出来了,下面就要进行详细的修改了(毕竟字段都不一样);

保存当前项目,打开解决方案JumbotCms2009.sln;

将项目JumbotCms2009.Modules.V ersion添加进来。

1.3.3页面和程序修改

1.3.3.1 后台译文列表页

这个页面是一个循环模板,前台使用jQuery+jTemplates处理的,与其他模块大同小异,没有啥好修改的,只要把第六行中的标题改为译文标题即可(因为这个模块还有原文标题一说)。

1.3.3.2 后台译文ajax页

打开ajax.aspx.cs,不难从简单的英文单词发现,它的功能有四个:list(文章列表)、batchoper(批量处理)、del (删除文章)、checkname (判断标题名)

从上往下看:

这东西嘛,跟其他模块基本一样,不需要修改,直接跳过

删除内容的部分,也大同小异,所以……也跳过

我感觉也大同小异,呵呵,这样一来,这个文件貌似就没改过(之前批量替换的时候已经把相关的表名都改好了)。

1.3.3.3 后台译文编辑页面

哈哈,关键的来了,大家看到这不免要说,咋什么都不用改???那我告诉你:NO!!

这个页面要改的东西就很多了,LET GO~。

先处理edit.aspx页(说明一下:因为内容的增加和修改有好多共同点,这里我就合并在一起了,具体的差异具体处理)

结合我们之前的表结构设计,我们对edit.aspx进行一些修改(保留通用的)。

老规矩,从上往下看:

直到40行为止,我觉得没啥好改的,它是一段校验标题是否重复的js代码,唯一要改的就是把第6行的软件编辑改成译文编辑,继续往下:

直到,这里有一个js代码需要修改,但是目前怎么修改还不是太清楚,记住这个位置,待会我们再回来修改,先看body部分。

这些根据实际情况,增加一个“英文标题”和一个“作者单位”,修改后如下。

再往下,我一次性把跟下载模块有关的全部去掉,包括什么类别、语言、运行环境、授权方式、运行平台、解压密码等等,顺便再加上缺少的几个(文中涉及国家地区、译者、全文字数、下载所需点数、译文地址、原文地址),修改完之后就成下面这样了。

说明一下,为了对表单进行一个验证,我对一部分数据进行了约束,输入错误会在相应的地方显示错误信息,显示位置在,具体显示在哪里,是根据id来定位的,好,下一步我们来完善一下表单验证,回到上面,目前我们还只对标题进行验证,这是不够的,我们将对下列数据进行提交前的格式控制:译者(每个姓名都用“[”和“]”来框起来,约束它是便于我们后续可以查找某一位译者的所有译文)、全文字数(肯定只能输入数字)、下载所需点数(只能是数字)、译文地址(简单的判断不为空就行了),这部分就要求对正则有一定的了解了哈,完善后的js代码如下: