1. 关于ZDOO
1.1  关于ZDOO全协同办公系统
1.2  ZDOO主要功能列表
1.3  如何获得技术支持
1.4  ZDOO授权协议
1.5  ZDOO的版本说明
2. 安装升级
2.1  使用源码包安装ZDOO(各系统通用)
2.2  windows用一键安装包安装(推荐)
2.3  linux用一键安装包
2.4  宝塔面板安装ZDOO
2.5  渠成命令行安装 ZDOO基础版
2.6  如何升级ZDOO协同办公系统
2.7  旧版然之升级 ZDOO
2.8  使用ZDOO在线云办公管理服务
2.9  如何备份ZDOO
2.10  去掉ZDOO访问地址中的zdoo
2.11  安装ioncube扩展
2.12  安装php-zip扩展
2.13  CentOS7、CentOS8安装httpd,mariadb,php环境
3. 客户管理(crm)
3.1  客户管理的基本流程
3.2  添加一个产品
3.3  创建一个客户
3.4  开始一个订单
3.5  签署一个合同
3.6  联系人管理
3.7  名单管理
3.8  供应商管理
3.9  设置客户管理的基本信息
3.10  客户管理的基本统计报表
4. 日常办公(oa)
4.1  待办管理
4.2  审批管理
4.3  考勤管理
4.4  请假管理
4.5  补班管理
4.6  加班管理
4.7  年假管理
4.8  调休管理
4.9  出差管理
4.10  外出管理
4.11  报销管理
4.12  公告管理
4.13  节假日管理
4.14  设置管理
5. 项目管理(proj)
5.1  项目管理流程简介
5.2  创建项目
5.3  创建任务
5.4  任务的各种操作
5.5  任务的三种视图
5.6  项目的各种操作
6. 文档管理(doc)
6.1  文档库简介
6.2  创建文档库
6.3  创建文档
7. 现金记账(cash)
7.1  为什么做记账管理
7.2  添加账户
7.3  账户管理
7.4  登记初始余额
7.5  设置记账科目
7.6  记收入/支出/转账
7.7  记投资和赎回
7.8  记借贷和还贷
7.9  批量记账
7.10  创建导入模板
7.11  导入账目
7.12  对账管理
7.13  现金记账统计报表
7.14  设置权限
8. 团队分享(team)
8.1  为什么做团队分享模块?
8.2  维护基础的数据
8.3  团队模块功能介绍
9. 后台管理
9.1  后台的基础信息维护
9.2  添加成员和维护部门结构
9.3  分组权限管理
9.4  添加应用和应用权限管理
9.5  如何配置email发信
10. 应用导航(ips)
10.1  应用导航功能简介
10.2  禅道集成
11. 定制开发
11.1  如何对ZDOO进行定制开发
11.2  ZDOO的目录结构
11.3  如何找到要修改的文件
11.4  数据库结构

如何找到要修改的文件

2016-06-23 16:50:24
易软-纪鲁
48693
最后编辑:易软-纪鲁 于 2016-06-23 17:46:02
分享链接

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

一、control方法的定位

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

crm/ order-browse- assignedTo.html,表示是访问 crm应用 order这个模块的 browse方法,传递的第一个参数为 assignedTo,访问的页面类型是 html
同样, crm/index.php?m=order&f=browse&mode=assignedTo, crm代表应用名 ,m代表了模块名称, f代表了方法名称,后面的则是参数列表。
那么我们就可以对应ZDOO的源代码,app/crm/order/control.php中的browse方法:

二、control方法里面的调用

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

$this->order, 表示的是调用order模块的model对象,那么它对应的文件在什么地方呢?聪明的你,应该已经猜到了吧。在 app/crm/order/model.php
this->loadmoel('order', 'crm')->xxx,表示加载crm应用order模块的model对象,它对应的文件在app/crm/order/model.php
$this->app->loadClass('pager'),表示加载一个lib类,它对应的文件则在lib/pager/pager.class.php
$this->lang->order->xxx,它的定义在app/crm/order/lang/zh-cn.php。后面的zh-cn根据当前用户的语言而定。

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


三、应用

ZDOOapp目录下的几个目录分别对应CRM、OA、CASH、TEAM应用,sys下是公用模块。




评论列表
说我呢 2018-11-13 09:51:09
如果不需要左侧的所有应用按钮 跟 后台管理>>拓展 这个页面, 是否可以隐藏呢? 应该在那里修改呢?
石洋洋 2018-11-13 10:44:41
可以通过 后台-权限,把相应的应用都关闭掉,没有权限访问就不会显示了。
张修 2018-06-21 15:45:27
用原生php做了一些功能,想和框架整合起来,使用框架的配置文件、调用机制等等。但是有时候会外部调用这个功能,例如外部调用系统这边设置的RESTful API。请问这时候如何绕过框架的登录机制呢
然之-Bee 2018-06-21 18:03:01
http://devel.cnezsoft.com/book/extension/api-auth-44.html 可以看下这一篇手册,看下是否会有帮助。
张修 2018-06-22 10:42:18
谢谢。查询了一下然之目前并没有实现api功能。如果想在然之这边设置一个RESTful API来等待外部系统推送内容进来,是否就只能用原生php独立写好放到www呢?如果能用然之框架实现就最好了
然之-Bee 2018-06-22 18:02:07
可以二次开发试试的。
谢谢谢 2017-12-05 19:01:50
搜索选项怎么找都找不到在哪改
石洋洋 2017-12-06 09:18:09
具体要修改搜索的什么内容?
然之-Bee 2017-12-06 09:18:53
f12,触发下搜索动作,看下具体的链接;根据链接判断代码所在的位置。
1/1
发表评论
柒 减 壹 =
评论通过审核后显示。