禅道的定制开发

注:本文参考禅道官网的使用手册;

5.禅道定制开发

5.1.二次开发机制

禅道项目管理软件是使用我们自主开发的zentaoPHP框架开发的。zentaoPHP框架实现了功能强大的扩展机制、API调用机制和命令行机制。您可以使用不同的机制来实现对禅道功能的修改、扩展。也可以和其他的系统进行集成,也可以部署各种自动化脚本对禅道进行各种操作。

因此请您仔细阅读下面的文档,以充分了解zentaoPHP框架的二次开发机制:

1. zentaoPHP框架基本使用手册:http://devel.cnezsoft.com/book/zentaophphelp.html

2. zentaoPHP框架二次开发机制:http://devel.cnezsoft.com/book/extension.html

 

5.2.禅道的目录结构

了解了zentaoPHP框架的基本原理和二次开发机制之后,您对禅道项目管理软件的目录结构应该也比较熟悉了。

  • 顶级目录结构

  • www目录

  • module目录

module目录下面总共有30多个模块,分别对应了禅道里面的某一个功能模块。整个禅道的功能,就是由这些模块组合而成。让我们来看一个具体的模块。

 

5.3.找到要修改的文件

要想对禅道进行修改,就必须知道对应的代码在什么地方。在了解了禅道的目录结构之后,我们来看下禅道的请求是如何对应到代码的。

1.    control方法的定位

control方法是每一个页面的入口,顺藤摸瓜,让我们先来看个例子:bug-browse-1.html 或者是/?m=bug&f=browse&productID=1&t=html。这里面有什么玄机呢?让我们来揭晓。

bug-browse-1.html,表示是访问bug这个模块的browse方法,传递的第一个参数为1,访问的页面类型是html

同样,/?m=bug&f=browse&productID=1&t=html,m代表了模块名称,f代表了方法名称,后面的则是参数列表。

那么我们就可以对应到禅道的源代码,module/bug/control.php中的browse方法:

 

2.    control方法里面的调用

ok,我们现在已经知道了入口的函数在什么地方,我们来跟到里面看看吧。

$this->bug,表示的是调用bug模块的model对象,那么它对应的文件在什么地方呢?聪明的你,应该已经猜到了吧。在module/bug/model.php

this->loadmoel('tree')->xxx,表示加载tree模块的model对象,它对应的文件在module/tree/model.php

$this->app->loadClass('pager'),表示加载一个lib类,它对应的文件则在lib/pager/pager.class.php

$this->lang->bug->xxx,它的定义在module/bug/lang/zh-cn.php。后面的zh-cn根据当前用户的语言而定。

后来看模块文件。$this->display()之后,调用的是view目录下面和当前方法同名的模板文件。比如bug的browse方法,它对应的模板文件是module/bug/view/browse.html.php

 

5.4.禅道的数据库结构

禅道的数据库命名都比较简明扼要,从字面意思应该都可以猜出来表的用途。如果还不是很清楚的话,可以到每个表对应的模块下面的语言文件里面查找。

1.    产品相关的表

  • zt_product,则记录了产品相关的信息。
  • zt_productPlan,则记录了产品的计划信息。
  • zt_story,是非常重要的一张表,记录了系统中所有的需求记录。zt_storySpec表是记录了story的历史信息。
  • zt_release,记录了产品的发布信息。这张表同时也和zt_build互相关联。

2.    项目相关的表

  • zt_project,项目表。
  • zt_projectProduct,记录了项目和产品之间的关联关系。
  • <
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值