NO.161 如何做禅道二次开发(2):找到要修改的文件
2015-12-22 15:07
246 查看
要想对禅道进行修改,就必须知道对应的代码在什么地方。在了解了禅道的目录结构之后,我们来看下禅道的请求是如何对应到代码的。
一、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
一、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
相关文章推荐
- 查看grid正常集群状态 crs_stat -t
- hdu 5366(排列组合)
- 2015初赛练习题
- CoOS使用教程——信号量
- proxool学习
- JAVA中的多线程操作:线程等待、阻塞、让步
- 欢迎使用CSDN-markdown编辑器
- windows转化python为可执行程序py2exe使用方法
- ADSL拨号工作原理
- 经典的JavaScript开发技巧
- Effective Modern C++ Item2 理解auto类型推导
- win7安装Windows Live Mail出错0x80040154该怎么办?
- sql server2014,sql server实例数据库的还原
- String StringBuffer StringBuilder 区别
- 部署PrestoDB on Cassandra
- python基础教程_list列表生成式
- java des加解密算法
- 手把手教你使用Git
- 【求助】怎样实如今并肩看中增加代码啊
- Java Platform Standard Edition 8 Documentation