前台插件二次开发教程

前台所有二次开发插件扩展必须全部放在 /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