Modoer 模块开发指南
Modoer中,每一个模块占用一个文件夹,例如article,links,ads等。
模块安装时,会使用到 模块/install 文件内的文件,其中包括:
- config.php --- 模块的默认配置参数
- info.php -- 模块安装信息
- install.php -- 模块安装时会应用这个php文件
- uninstall.php --模块卸载时会应用这个php文件
- module_install.sql --模块安装时一些sql
- module_uninstall.sql --模块卸载一些SQL
一个有后台的模块必须有
- admin(某个模块里文件夹)
- |----menus.inc.php
- |----模块标识.inc.php(例如links.inc.php)
- |----templates(文件夹)
- menus.inc.php文件中
$modmenus = array( 'links|模块配置|config', 'links|链接管理|list', 'links|新增链接|add', );
其中数组的格式如下:
模块Flag|菜单名称|菜单文件名(file=**)|文件的op(op=**) <-最后的op如果没有可以省略
links|模块配置|config 这个数组值产生的连接就是 admincp.php?action=links&file=config
其中的file参数的值是放在admin目录下的以.inc.php后缀结尾的,例如:config.inc.php
- 模块标识.inc.php(例如links.inc.php)'
这个文件是一个中间文件,用来应用一个模块的核心代码文件和函数库,同时也是加载菜单中file参数文件,也是必须存在的,以模块的标识作为名字+.inc.php
每个file参数引用文件的文件,最好做到PHP代码和HTML分离,则可以使用函数“cptpl“
使用方式如下:
include cptpl('add', MOD_ROOT.'./admin/templates/');
其中'add'标识一个模板的前缀名字,实际应用的名字是add.tpl.php,后面的.tlp.php可以不用写,
第2个参数是模板所在的目录。MOD_ROOT.'./admin/templates/'就是指当前模块的admin下的templates文件夹下
关于上面写到的 “模块标识.inc.php”文件夹汇总加载的模块的核心代码文件和函数库就是指下面2个文件:
模块/include/inc_common.php,
这个文件和主框架下 include 的 common.inc.php 文件类似,主要是加载模块的配置参数和函数库(inc_common.php),如自己的模块有特殊的内容需要在模块全局加载(模块前台后台都需要应用)则可以在这里加上自己的代码
模块的前台和后台都需要引入这个inc_common.php文件,才能确保程序正常运行。
有些人如果需要写本模块的后台数据调用函数,则可以在 “模块/include ” 下建立fun_query.php文件来编写适用于本模块的数据调用的函数调用代码。
还有如果新模块需要使用伪静态规则,则可以在 “模块/include ” 下建立 inc_rewrite.php 文件来正则替换url,每个目录下的空index.html是为了防止某些服务器配置中,缺省打开了目录遍历的功能,这样容易让不法者了解文件目录结构和下载隐私信息。
如果你的服务器没有打开这个功能,就不需要这个文件。