如何找到要修改的文件

2016-06-23 16:50:24    易软-纪鲁    7834

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

一、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代表了方法名称,后面的则是参数列表。
那么我们就可以对应然之的源代码,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


三、应用

然之app目录下的几个目录分别对应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 可以看下这一篇手册,看下是否会有帮助。
张修
BeeRanzhi
2018-06-22 10:42:18
回复
谢谢。查询了一下然之目前并没有实现api功能。如果想在然之这边设置一个RESTful API来等待外部系统推送内容进来,是否就只能用原生php独立写好放到www呢?如果能用然之框架实现就最好了
然之-Bee
avatar
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