• 在线客服
    • 蝉知客服
1 安装升级
1.1  蝉知对系统的要求
1.2  使用源码方式安装蝉知
1.3  使用一键安装包安装蝉知
1.4  蝉知一键安装包里安装禅道和然之
1.5  使用在线安装脚本安装蝉知
1.6  如何升级蝉知系统
1.7  使用在线升级脚本升级蝉知
1.8  如何安装蝉知主题
1.9  如何选择加密方式
2 关于蝉知
2.1  关于蝉知企业门户系统
2.2  移动互联时代如何做企业营销?
2.3  蝉知企业门户系统授权协议1.2
2.4  蝉知和禅道的关系
3 使用蝉知
3.1 内容
3.1.1 文章
3.1.1.1  维护文章类目
3.1.1.2  如何使用蝉知系统发布文章内容
3.1.1.3  维护文章:编辑、删除和附件
3.1.2 单页
3.1.2.1  单页功能让您的网站更灵活
3.1.3 博客
3.1.3.1  充分利用蝉知博客功能,展示团队风采,传达理念
3.1.4 手册
3.1.4.1  添加手册
3.1.4.2  设置章节结构
3.1.4.3  编写具体的文章
3.1.4.4  手册设置
3.1.5 投稿
3.1.5.1  投稿功能说明
3.2 商城
3.2.1  订单管理
3.2.2 产品
3.2.2.1  维护产品类目
3.2.2.2  添加产品:设置基本信息
3.2.2.3  添加产品:设置价格产地等属性
3.2.2.4  添加产品:设置产品的图片
3.2.3  其他设置
3.3 会员
3.3.1 会员
3.3.1.1  会员列表信息
3.3.2 评论留言
3.3.2.1  留言的审核和回复
3.3.3 论坛
3.3.3.1  设置论坛的版块信息
3.3.3.2  设置版块信息:版主、描述信息
3.3.3.3  维护论坛:删贴、置顶、回帖、编辑、引用
3.4 推广
3.4.1  流量统计设置
3.4.2  关键词管理
3.4.3  添加友情链接
3.5 平台
3.5.1  主题和插件
3.5.2  导入特效
3.6 设置
3.6.1 站点
3.6.1.1  站点设置
3.6.1.2  语言设置
3.6.1.3  地址类型
3.6.1.4  域名设置
3.6.1.5  CDN设置
3.6.1.6  缓存设置
3.6.1.7  首页菜单
3.6.1.8  全文检索
3.6.1.9  备份还原
3.6.1.10  注册协议
3.6.1.11  静态化设置
3.6.2 公司
3.6.2.1  公司信息
3.6.2.2  联系方式
3.6.3  积分
3.6.4 接口
3.6.4.1 开放登录
3.6.4.1.1  配置蝉知系统使用微博开放登录功能
3.6.4.1.2  配置蝉知系统使用QQ开放登录功能
3.6.4.1.3  配置蝉知系统使用github开放登录功能
3.6.4.1.4  配置蝉知系统使用facebook开放登录功能
3.6.4.2  发信设置
3.6.4.3  微信设置
3.6.5 安全
3.6.5.1  基本设置
3.6.5.2  过滤设置和黑白名单管理
3.6.5.3  敏感词设置和附件上传
3.6.5.4  验证码设置
3.6.5.5  管理员和分组权限设置
3.7 设计
3.7.1 主题
3.7.1.1  主题管理
3.7.1.2  主题自定义
3.7.1.3  移动端界面管理
3.7.2  导航
3.7.3 组件
3.7.3.1  常用组件
3.7.3.2  特效
3.7.3.3  素材库
3.7.4  高级
4 系统维护
4.1  配置webserver使用静态url功能
4.2  备份蝉知系统
4.3  安装ioncube扩展
4.4  安装Zend Guard Loader
4.5 安装其他php扩展
4.5.1  linux/Windows安装PHP-openssl扩展
4.5.2  linux/Windows安装PHP-curl扩展
4.5.3  linux安装PHP-json扩展
4.5.4  linux/windows安装PHP-mbstring扩展
4.5.5  linux/windows安装php-gd扩展库
4.5.6  linux/Windows安装PHP的PDO扩展
5 定制开发
5.1  如何对蝉知系统进行定制开发
5.2  如何获得蝉知系统源代码
5.3  蝉知的目录结构
5.4  如何找到要修改的文件
5.5  数据库结构
6 臻网建站
6.1  臻网建站使用协议
6.2  臻网建站版本说明
6.3  解析域名到臻网服务器
6.4  为什么我的站点提示被锁定了?
6.5  臻网建站网站如何备份我的数据?

如何找到要修改的文件

2016-06-08 13:35:46
蝉知-褚纪鲁
7210
最后编辑:石洋洋 于 2018-04-02 14:45:08

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

一、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模块语言文件中定义。


评论列表
半眸子 2018-04-09 10:33:02
修改了模板文件如何才能生效?好像我改了之后并没有用,重启也没有,要怎么做才能生效呢
石洋洋 2018-04-09 11:15:08
可以直接在禅道 后台 设计-编辑模版 进行编辑。
嘎嘎 2017-10-16 10:54:28
http://127.0.0.18:8088/index.php/forum/feedback.html 这个地址该如果查找对应的方法?我在在forum 这个模块中的model.php和config.php没找到feedback方法
蝉知-Bee 2017-10-16 12:09:58
control文件看了吗?
胡凯 2017-09-21 10:50:55
如果一个lib的文件夹下有多各类,应该如何调用,例如,lib下有xxx文件夹,通常的调用方法是,$this->app->loadClass('xxx');这里调用的是与文件夹同名的xxx.class,那么如果礼xxx文件夹下有一个yyy.class,应该如何调用,是否使用$this->app->loadClass('xxx/yyy')这样的方式.
蝉知-Bee 2017-09-21 12:18:43
可以试试在xxx文件中包含下yyy文件。
1/1
发表评论
玖 加 壹 =
评论通过审核后显示。