NO.161 如何做禅道二次开发(2):找到要修改的文件

Wesley13
• 阅读 1146

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

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

NO.161 如何做禅道二次开发(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

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MO.84 禅道PHP框架开发指南线上视频公开课 开始报名啦~
禅道PHP(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%3Fu%3Dlixiao)框架开发指南线上视频公开课将于5月31日(本周五)晚上19点开课,欢迎大家报名参加。禅道PHP框架是禅道项目管理软件的基础。本次视频公开课旨在给大家介绍框
Wesley13 Wesley13
3年前
NO.56 杭州汇云科技 禅道使用经验分享
关于禅道使用经验分享禅道项目管理(www.zentao.net(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dlixiao%26f%3Dos%26a%3Dblog))使用经验分享,欢迎大家一起来探讨关于禅道项目管理软件使用方面的问题。我
Stella981 Stella981
3年前
NO.159 集成禅道和git
禅道(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dpxz%26f%3Dosc%26a%3Dblog)从5.0版本开始内置了git集成功能,把禅道的任务、Bug等与代码进行关联,方便用户查看。下面向大家讲解如何配置禅道集成git。
Wesley13 Wesley13
3年前
NO.76 禅道使用分享第八期:创维软件开发团队畅谈专业版
关于禅道(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dlixiao%26f%3Dchangxiang%26a%3Dblog)使用经验分享 禅道(https://www.oschina.net/action/GoToLink?url
Wesley13 Wesley13
3年前
NO.83 禅道使用分享第十期:小开发团队里的大智慧。
关于禅道(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%3Fu%3Dlixiao%26f%3Dos)使用经验分享禅道(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.z
Wesley13 Wesley13
3年前
NO.80 禅道使用分享第九期:测试部门缺陷管理的新需求
关于禅道(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%3Fu%3Dlixiao)使用经验分享禅道使用经验分享,欢迎大家一起来探讨关于禅道项目管理软件使用方面的问题。我们广泛的收集对禅道的看法和建议,充分了解广大用户使用禅道的具体情况和要求,进而不断完善
Stella981 Stella981
3年前
NO.33 禅道插件实例:创建bug时可以设置优先级字段
这个例子用来向大家展示如何使用禅道的扩展机制来对禅道进(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dlixiao%26f%3Dos%26a%3Dblog)行各种定制,而不用担心后续升级之后被覆盖。目标:在创建bug(https:/
Wesley13 Wesley13
3年前
NO.150 分享有礼!分享禅道使用经验,给禅道提建议,大奖等你拿
2014年,禅道开源版和专业版共发布了12个版本。禅道专业版推出了手机客户端和企业IM客户端(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2Fdynamic%2F79886.html%3Fu%3Dpxz%26f%3Dosc)。禅道最新发布了开源版6.
Wesley13 Wesley13
3年前
NO.168 如何做禅道二次开发(4):如何登记菜单
扩展禅道(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dpxz%26f%3Dosc)遇到的一个问题就是如何将自己增加的功能登记到菜单中,本篇文章来讲述如何来实现这个功能。一、菜单的组成禅道的导航菜单分为三个部分,顶部菜单、
Wesley13 Wesley13
3年前
NO.112 禅道使用分享第十八期:工作效率明显提高。
关于禅道使用经验分享禅道使用经验分享,欢迎大家一起来探讨关于禅道项目管理软件(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.zentao.net%2F%3Fu%3Dpanxianzhi%26f%3Dos%26a%3Dblog)使用方面的问题。我们广泛的收集对禅