前台所有二次开发插件扩展必须全部放在 /extend 目录下创建以插件名称为命名的文件夹 【示例请参考本系统的密码找回插件】
目录名 | 目录说明 | 是否必须 |
---|---|---|
c | 项目控制器 | 是 |
m | 项目模块 | 否 |
function/common.php | 项目专属函数文件 | 否 |
compile | smarty编译文件目录 | 是 |
template | 插件专属模板目录 | 否 |
cache | smarty静态缓存目录 | 否 |
访问地址格式 | 网站域名/extend/index.php?e=插件目录名称&m=控制器名称"即c目录下的控制器名称 首字母要大写"&a=方法名"即所属控制器中的方法名" |
示例 | 比如本系统的密码重置插件 域名/extend/index.php?e=findpwd&m=Index (如果 a 即方法名是index,那么方法名可以省略) |
文件命名格式 | 控制器名称AExtend.class.php “控制器名称首字母必须大写” 比如 IndexAExtend.class.php |
类名格式 | class 控制器名称AExtend extends Extend,该类必须继承插件扩展的系统基类“Extend”,继承父类后,即可获得 smarty 对象,config 系统参数配置变量,以及全局变量$GLOBALS |
方法 | 必须创建__construct构造方法,并在该构造方法中执行基类“Extend”的构造方法,parent::__construct,其他方法根据自己业务需要创建即可。 |
文件命名格式 | 模块名称MExtend.class.php ,如果要在控制器中实例化该模块,直接 "new 该类全名" 即可。 |
类名格式 | class 模块名称MExtend extends Model 该类必须继承系统的数据模块基类“Model” 继承后,即可执行父类中的数据操作方法,常用的数据库操作方法点击这里。 |
方法 | 必须创建 __construct构造方法,并在该构造方法中执行基类“Model”的构造方法,parent::__construct 即可获取Model基类的所有数据操作方法 |
指定数据表和数据表字段 | 在构造方法中执行完Model的构造方法后,需要在构造方法中指定本模块的所属数据表名称和数据表字段名称。 指定数据表名称:$this->tab = array('数据表名称 不包含数据表前缀'); 指定数据表字段名称:$this->field = array('字段名称','字段名称','...'); 必须以数组形式。 |
smarty操作 | 如果要在控制器中指定方法的所需模板或者给模板注入变量等,请查看smarty操作说明 |
数据操作相关 | 在模块类中执行 增加、修改、删除、查询 等数据操作,请查看数据操作说明 |
模板相关 | 需要在 template 目录下创建所需要模板,模板名称随意,必须是 .html 文件即可。 |
专属函数 | 如果需要专属函数,在 function 下创建 common.php 函数文件并创建所需要的函数即可,然后可以在控制器、模块中使用该函数。 |
其他功能类 | 系统自带的一些功能类在/class目录下 上传类:upload.class.php 字符串处理类:string.class.php 文件、目录操作类:file.class.php 图像操作类:image.class.php 翻页类:page.class.php url跳转类:rewrite.class.php 工具类:tool.class.php |