ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
使用管理员账号登录 Discuz! 管理中心,在顶部菜单将可以看到“插件”菜单。“插件列表”列出了所有已安装的插件,是控制插件打开与否、设计插件模块、菜单、参数和使用权限的地方,插件开发者可以依照设计意图,在此进行插件的初步设置,这里同时也提供插件导入和插件开关的功能,用于导入他人设计的插件和对插件的可用状态进行变更。 开始编写一个新插件,请首先打开 `config/config_global.php` 文件,在文件结尾添加以下代码开启插件设计者模式。 ``` $_config['plugindeveloper'] = 1; ``` 在插件管理中选择“设计新插件”,填写插件名称,名称用于表明此插件的用途,例如设置为“虚拟银行插件”。惟一标识符用于在后续的插件模块中调用本插件,不可与现有插件重复,命名规则限制与 PHP 变量命名相同,虽然初次设置后仍可改动,但强烈建议一次性将此配置设置好,否则可能涉及到很多代码方面的变更,增加编码的麻烦。请注意:惟一标识符请不要设置的过短,或使用有可能与其他插件重复的命名,例如制作此插件的公司叫做` Comsenz Inc.`,插件名称是`“虚拟银行插件”`,惟一标识符可设置为`“comsenz_virtual_bank”`。最后在` source/plugin/ `目录中创建与唯一标识符同名的目录名,如 `source/plugin/comsenz_virtual_bank/`。 在插件管理中添加插件后,仅仅是增加了一条插件记录,后面还需要很多相关的设计和设置。在列表中选择插件的“详情”进入插件的详细设置。插件设置分为三个部分: ## 插件模块 插件模块分为**程序链接**、**扩展项目**和**程序脚本** 3 类: * **程序链接 主导航项目**:可在主导航栏增加一个菜单项,可自主指派菜单链接的` URL`,也可以调用插件的一个模块,模块文件名指派为 `source/plugin/`插件目录/插件模块名`.inc.php`”。注意:由于引用外部程序,因此即便设置了模块的使用等级,您的程序仍需进行判断使用等级是否合法。 * **程序链接 主导航项目 - 插件菜单**:可在主导航栏的插件子菜单中增加一个菜单项。 * **程序链接 顶部导航项目、底部导航项目、快捷导航项目、家园导航项目**:可在各个导航中增加一个菜单项。 * **扩展项目 个人设置**:可在个人设置中增加一个菜单项。 * **扩展项目 个人设置 - 个人资料**:可在个人设置的个人资料页上部增加一个菜单项。 * **扩展项目 个人设置 - 积分**:可在个人设置的积分页上部增加一个菜单项。 * **扩展项目 站点帮助**:可在站点帮助中增加一个菜单项。 * **扩展项目 我的帖子**:可在我的帖子中增加一个菜单项。 * **扩展项目 门户管理**:可在门户管理面板上部增加一个菜单项。 *** 扩展项目 论坛管理 - 基本**:可在前台论坛管理面板侧边上部增加一个菜单项。 * **扩展项目 论坛管理 - 工具**:可在前台论坛管理面板侧边下部增加一个菜单项。 * **扩展项目 管理中心**:可在后台插件栏目中为此插件增添一个管理模块。 * **扩展项目 管理中心 - 列表链接**:可在后台插件列表页增添一个远程链接。(Discuz! X3.1 新增) * **程序脚本 页面嵌入 - 普通版**:设置一个包含页面嵌入脚本的模块,该模块用于在普通电脑访问的页面显示。模块文件名指派为 `source/plugin/插件目录/插件模块名.class.php`”。(页面嵌入将在后面的《页面嵌入模块开发》中详细说明) * **程序脚本 页面嵌入 - 手机版**:设置一个包含页面嵌入脚本的模块,该模块用于在手机访问的页面显示。 * **程序脚本 特殊主题**:设置一个特殊主题脚本的模块,模块文件名指派为 `source/plugin/插件目录/插件模块名.class.php`”。(特殊主题将在后面的《特殊主题模块开发》中详细说明) 您可以为每个模块设置不同的使用等级,例如设置为“超级版主”,则超级版主及更高的管理者可以使用此模块。 扩展项目模块可以在社区的特定位置扩展出新的功能,通常用于扩展新的设置项目。项目的脚本文件以` .inc.php `结尾(如 test.inc.php),模版为固定文件名,位于插件目录的 `template/ `子目录中,文件名与脚本名同名(如` test.htm`),扩展名为` .htm`。添加相应的扩展项目模块时,需注明程序模块、菜单名称。例如我们添加个人面板项目,程序模块为 `test`,菜单名称是“测试”,当插件启用后,个人面板即家园的设置中会出现“测试”拓展项目。 在新插件内核中,通过` plugin.php `方式访问的插件可直接通过 `plugin.php?id=xxx:yyy `方式调用而无需再在后台定义为普通脚本模块,只要 `source/plugin/xxx/yyy.inc.php `文件存在即可。如果 `xxx `和` yyy` 同名,可直接通过 `plugin.php?id=xxx `方式访问。 ## 插件变量配置 插件接口中提供了一个通用的插件配置管理程序,在大多数情况下可实现插件的参数配置,省却了插件开发者自行编写后台管理模块(即上面提到的“扩展项目 管理中心”模块)的麻烦。通常情况下,应优先使用通用插件配置管理程序来实现插件的参数配置,只有在通用程序确实无法实现时,才自行编写后台管理模块。输入配置名称和配置变量名、选择合适的配置类型后,即可为此插件增加一个配置变量,点“详情”可以编辑此配置变量的更多信息。为了方便插件程序调用使用者配置好的参数,配置变量同样被存放在了缓存文件中,读取方法将在后面的《插件的参数读取与缓存控制》中详细说明。 **注意:您只有在插件管理中将插件设置为“可用”,以上设置才能生效。**