手册
1. 禅道API开发手册
1.1 配置使用与常见问题
1.2 调用SDK示例
1.3. 部门相关接口
1.3.1 获取部门列表
1.3.2 批量添加部门
1.4. 用户相关接口
1.4.1 获得添加用户所用的参数列表
1.4.2 添加单个用户
1.4.3 获取用户列表
1.5. 产品相关接口
1.5.1 获取产品列表
1.5.2 添加单个产品可选信息
1.5.3 添加单个产品
1.6. 项目相关接口
1.6.1 获取项目列表
1.6.2 添加单个项目可选信息
1.6.3 添加单个项目
1.7. 任务相关接口
1.7.1 获取任务列表
1.7.2 添加单个任务可选信息
1.7.3 添加单个任务
1.7.4 完成单个任务可选信息
1.7.5 完成单个任务
1.8. bug相关接口
1.8.1 获取Bug列表
1.8.2 添加单个Bug可选信息
1.8.3 添加单个Bug
1.8.4 解决单个Bug可选信息
1.8.5 解决单个Bug
2. 禅道API文档v1
2.1. Token
2.1.1 获取Token
2.2. 部门
2.2.1 获取部门列表
2.2.2 获取部门详情
2.3. 用户
2.3.1 获取我的个人信息
2.3.2 获取用户列表
2.3.3 获取用户信息
2.3.4 修改用户信息
2.3.5 删除用户
2.3.6 创建用户
2.4. 项目集
2.4.1 获取项目集列表
2.4.2 修改项目集
2.4.3 获取项目集详情
2.4.4 删除项目集
2.4.5 创建项目集
2.5. 产品
2.5.1 获取产品列表
2.5.2 创建产品
2.5.3 获取产品详情
2.5.4 编辑产品
2.5.5 删除产品
2.6. 产品计划
2.6.1 获取产品计划列表
2.6.2 创建计划
2.6.3 获取计划详情
2.6.4 修改计划
2.6.5 删除计划
2.6.6 产品计划关联需求
2.6.7 产品计划取消关联需求
2.6.8 产品计划关联Bug
2.6.9 产品计划取消关联Bug
2.7. 发布
2.7.1 获取产品发布列表
2.7.2 获取项目发布列表
2.8. 需求
2.8.1 获取产品需求列表
2.8.2 获取项目需求列表
2.8.3 获取执行需求列表
2.8.4 创建需求
2.8.5 获取需求详情
2.8.6 变更需求
2.8.7 修改需求其他字段
2.8.8 删除需求
2.8.9 关闭需求
2.9. 项目
2.9.1 获取项目列表
2.9.2 创建项目
2.9.3 获取项目详情
2.9.4 修改项目
2.9.5 删除项目
2.10. 版本
2.10.1 获取项目版本列表
2.10.2 获取执行版本列表
2.10.3 创建版本
2.10.4 获取版本详情
2.10.5 修改版本
2.10.6 删除版本
2.11. 执行
2.11.1 获取项目的执行列表
2.11.2 创建执行
2.11.3 查看执行详情
2.11.4 修改执行
2.11.5 删除执行
2.12. 任务
2.12.1 获取执行任务列表
2.12.2 创建任务
2.12.3 获取任务详情
2.12.4 修改任务
2.12.5 删除任务
2.12.6 开始任务
2.12.7 暂停任务
2.12.8 继续任务
2.12.9 完成任务
2.12.10 关闭任务
2.12.11 添加任务日志
2.12.12 获取任务日志
2.13. Bug
2.13.1 获取产品Bug列表
2.13.2 创建Bug
2.13.3 获取Bug详情
2.13.4 修改Bug
2.13.5 删除Bug
2.13.6 确认Bug
2.13.7 关闭Bug
2.13.8 激活Bug
2.13.9 解决Bug
2.14. 用例
2.14.1 获取产品用例列表
2.14.2 创建用例
2.14.3 获取用例详情
2.14.4 修改用例
2.14.5 删除用例
2.14.6 执行用例
2.15. 测试单
2.15.1 获取测试单列表
2.15.2 获取项目的测试单
2.15.3 获取测试单详情
2.16. 反馈
2.16.1 创建反馈
2.16.2 指派反馈
2.16.3 关闭反馈
2.16.4 删除反馈
2.16.5 修改反馈
2.16.6 获取反馈详情
2.16.7 获取反馈列表
3. 定制开发
3.1 二次开发机制
3.2 禅道的目录结构
3.3 找到要修改的文件
3.4 禅道的数据库结构
3.5 公用模块--common
3.6 12系列菜单登记和权限维护
3.7 18系列菜单登记和权限维护
3.8 示例:如何修改禅道的语言提示?
3.9 示例:创建bug时可以设置优先级字段
3.10 使用在线扩展编辑器
3.11 二次开发编辑器和翻译功能限制使用说明
3.12 禅道项目管理软件打包规范1.1版本

找到要修改的文件

2010-08-27 15:10:34
分享链接
摘要:本篇文章讲述如何通过禅道的访问地址定位到代码,以便进行修改调试。

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

一、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方法:

二、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

113959 王春生