在管理面板中连接模块

DataLife Engine 为在管理面板中连接您开发的脚本扩展提供了便捷机制。这些机制允许在不修改脚本文件的情况下连接管理面板模块,并在脚本升级到新版本后继续保持可用。

要把第三方模块接入管理面板,您必须将模块文件放入文件夹 /engine/inc/ 中,这是强制要求。只有位于该文件夹中的文件才能被连接。例如,您的模块文件名为 mymod.php ,并且已将其放置在 /engine/inc/ 文件夹中。之后,您就可以通过管理面板地址 https://website.com/admin.php?mod=mymod 调用并访问该模块,其中 mymod 是模块文件名,不带 .php 扩展名。连接会自动完成,无需修改任何脚本文件。

为了让用户无需手动在浏览器中输入模块地址,并使其显示在管理面板的所有分区列表中,系统在 MySQL 数据库中提供了一张专用数据表。该表名为: PREFIX_admin_sections。您的安装脚本可以从文件 /engine/data/dbconfig.php 中读取此前缀值。该表包含以下字段名:

name - 保存您的模块名称,也就是位于 /engine/inc/ 文件夹中的 .php 文件名,但不含文件扩展名。例如,如果您的文件名是 mymod.php,则该字段必须写入值 mymod。

title - 保存模块标题。

descr - 保存模块说明。

icon - 保存模块图标的名称及路径。建议图标尺寸为 70x70 像素。

allow_groups - 保存允许显示该模块的用户组信息。该字段可以采用以下值: all 或以逗号分隔的用户组 ID。例如: 1,2,3。如果指定 all ,则模块会显示给所有有权访问管理面板的用户。

写入有关 mymod 模块信息的查询示例:

INSERT INTO `prefix_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES ('mymod', '测试模块', '这里是测试模块的说明', 'mymod.png', '1');

执行该查询后,此模块将在管理面板中仅为管理员注册显示。

注意: 在数据库中指定用户组并不会禁止或阻止其他用户组启动该模块。此字段只决定是否在管理面板的导航和分区列表中显示该分区。要实现访问控制,您所连接的模块必须自行检查用户组,并且只允许被授权的用户组执行操作。