- 1. 禅道SDK开发手册
- 1.1 配置使用与常见问题
- 1.2 调用SDK示例
- 1.3. 部门相关接口
- 1.4. 用户相关接口
- 1.4.1 获得添加用户所用的参数列表
- 1.4.2 添加单个用户
- 1.4.3 获取用户列表
- 1.4.2 添加单个用户
- 1.5. 产品相关接口
- 1.5.1 获取产品列表
- 1.5.2 添加单个产品可选信息
- 1.5.3 添加单个产品
- 1.5.2 添加单个产品可选信息
- 1.6. 项目相关接口
- 1.6.1 获取项目列表
- 1.6.2 添加单个项目可选信息
- 1.6.3 添加单个项目
- 1.6.2 添加单个项目可选信息
- 1.7. 任务相关接口
- 1.7.1 获取任务列表
- 1.7.2 添加单个任务可选信息
- 1.7.3 添加单个任务
- 1.7.4 完成单个任务可选信息
- 1.7.5 完成单个任务
- 1.7.2 添加单个任务可选信息
- 1.8. bug相关接口
- 1.8.1 获取Bug列表
- 1.8.2 添加单个Bug可选信息
- 1.8.3 添加单个Bug
- 1.8.4 解决单个Bug可选信息
- 1.8.5 解决单个Bug
- 1.8.2 添加单个Bug可选信息
- 1.2 调用SDK示例
- 2. 禅道RESTful API开发手册v1
- 2.1 配置使用与常见问题
- 2.2. Token
- 2.2.1 获取Token
- 2.3. 部门
- 2.4. 用户
- 2.5. 项目集
- 2.6. 产品
- 2.7. 产品计划
- 2.7.1 获取产品计划列表
- 2.7.2 创建计划
- 2.7.3 获取计划详情
- 2.7.4 修改计划
- 2.7.5 删除计划
- 2.7.6 产品计划关联需求
- 2.7.7 产品计划取消关联需求
- 2.7.8 产品计划关联Bug
- 2.7.9 产品计划取消关联Bug
- 2.7.2 创建计划
- 2.8. 发布
- 2.9. 需求
- 2.9.1 获取产品需求列表
- 2.9.2 获取项目需求列表
- 2.9.3 获取执行需求列表
- 2.9.4 创建需求
- 2.9.5 获取需求详情
- 2.9.6 变更需求
- 2.9.7 修改需求其他字段
- 2.9.8 删除需求
- 2.9.9 关闭需求
- 2.9.2 获取项目需求列表
- 2.10. 项目
- 2.11. 版本
- 2.12. 执行
- 2.13. 任务
- 2.13.1 获取执行任务列表
- 2.13.2 创建任务
- 2.13.3 获取任务详情
- 2.13.4 修改任务
- 2.13.5 删除任务
- 2.13.6 开始任务
- 2.13.7 暂停任务
- 2.13.8 继续任务
- 2.13.9 完成任务
- 2.13.10 关闭任务
- 2.13.11 添加任务日志
- 2.13.12 获取任务日志
- 2.13.2 创建任务
- 2.14. Bug
- 2.14.1 获取产品Bug列表
- 2.14.2 创建Bug
- 2.14.3 获取Bug详情
- 2.14.4 修改Bug
- 2.14.5 删除Bug
- 2.14.6 确认Bug
- 2.14.7 关闭Bug
- 2.14.8 激活Bug
- 2.14.9 解决Bug
- 2.14.2 创建Bug
- 2.15. 用例
- 2.16. 测试单
- 2.17. 反馈
- 2.18. 工单
- 2.2. Token
- 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版本
- 3.2 禅道的目录结构
- 1.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方法:

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




精品资料包
1V1产品演示
免费试用增强功能
专属顾问答疑支持


