如何找到要修改的文件

2016-06-08 13:35:46    蝉知-褚纪鲁    16337

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

一、control方法的定位

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

article-browse-1.html,表示是访问 article这个模块的 browse方法,传递的第一个参数为 1,访问的页面类型是 html
同样, /?m= article&f=browse&productID=1&t=html, m代表了模块名称, f代表了方法名称,后面的则是参数列表。
那么我们就可以对应蝉知的源代码,system/module/ article/control.php中的browse方法:

蝉知的前台URL做了SEO优化,可能会出现类目的别名,可以把访问类型改为GET后查看详细的URL地址(编辑config/my.php里的requestType值为GET,5.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


三、模板文件

蝉知模板分为前台模板和后台模板。index.php入口访问会调用前台模板,admin.php访问会调用后台模板。

比如产品的列表页面是product的browse方法 前台是模板在system/template/default/product/browse.html.php

后台模板在system/module/product/view/browse.html.php

列表页面都是对应的browse方法,详情页面都是对应的view方法。

区块模板在system/template/default/block/目录下。

5.2+版本可以在后台--设计--编辑模板处直接编辑模板,保存路径在system/tmp/template目录下)


四、语言文件

界面显示的提示文字都在对应模块的语言文件内,如产品模块的在system/module/product/lang目录下,zh-cn是简体中文,zh-tw是繁体中文,en是英文。

后台菜单在common模块语言文件中定义。


浙ICP备14025715号-9
ZSITE8.6