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是为了防止某些服务器配置中,缺省打开了目录遍历的功能,这样容易让不法者了解文件目录结构和下载隐私信息。

如果你的服务器没有打开这个功能,就不需要这个文件。


相关条目[ ]

参考来源[ ]