开放平台
首页
我的应用
我的分销
开发文档
技术社区
魔方加密
WitFrame
注册
登录
资料设置
消息提醒
财务管理
密码安全
身份认证
退出
插件接口
<div class="tbmu bbda mbm"><a href="?ac=document&page=dev_plugin">准备工作</a> <span class="pipe">|</span> <a href="?ac=document&page=plugin_module" class="a">插件接口</a> <span class="pipe">|</span> <a href="?ac=document&page=plugin_vars">参数读取</a> <span class="pipe">|</span> <a href="?ac=document&page=plugin_hook">页面嵌入</a> <span class="pipe">|</span> <a href="?ac=document&page=plugin_specialthread">特殊主题</a> <span class="pipe">|</span> <a href="?ac=document&page=plugin_classes">第三方拓展类</a> <span class="pipe">|</span> <a href="?ac=document&page=plugin_other_module">其它模块</a><br><a href="?ac=document&page=plugin_install">安装脚本</a> <span class="pipe">|</span> <a href="?ac=document&page=plugin_language">模板和语言包</a> <span class="pipe">|</span> <a href="?ac=document&page=plugin_notice">注意事项</a></div> [TOCM] ## 概述 使用管理员账号登录 Discuz! 管理中心,在顶部菜单将可以看到“插件”菜单。“插件列表”列出了所有已安装的插件,是控制插件打开与否、设计插件模块、菜单、参数和使用权限的地方,插件开发者可以依照设计意图,在此进行插件的初步设置,这里同时也提供插件导入和插件开关的功能,用于导入他人设计的插件和对插件的可用状态进行变更。 开始编写一个新插件,请首先打开 config/config_global.php 文件,在文件结尾添加以下代码开启插件设计者模式。 $_config['plugindeveloper'] = 1; 在插件管理中选择“设计新插件”,填写插件名称,名称用于表明此插件的用途,例如设置为“虚拟银行插件”。惟一标识符用于在后续的插件模块中调用本插件,不可与现有插件重复,命名规则限制与 PHP 变量命名相同,虽然初次设置后仍可改动,但强烈建议一次性将此配置设置好,否则可能涉及到很多代码方面的变更,增加编码的麻烦。请注意:惟一标识符请不要设置的过短,或使用有可能与其他插件重复的命名,例如制作此插件的公司叫做 Comsenz Inc.,插件名称是“虚拟银行插件”,惟一标识符可设置为“comsenz_virtual_bank”。最后在 source/plugin/ 目录中创建与唯一标识符同名的目录名,如 source/plugin/comsenz_virtual_bank/。 >在插件管理中添加插件后,仅仅是增加了一条插件记录,后面还需要很多相关的设计和设置。在列表中选择插件的“详情”进入插件的详细设置。插件设置分为三个部分: ## 插件模块 插件模块分为程序链接、扩展项目和程序脚本 3 类: 1. 程序链接 主导航项目:可在主导航栏增加一个菜单项,可自主指派菜单链接的 URL,也可以调用插件的一个模块,模块文件名指派为 source/plugin/插件目录/插件模块名.inc.php”。注意:由于引用外部程序,因此即便设置了模块的使用等级,您的程序仍需进行判断使用等级是否合法。 2. 程序链接 主导航项目 - 插件菜单:可在主导航栏的插件子菜单中增加一个菜单项。 3. 程序链接 顶部导航项目、底部导航项目、快捷导航项目、家园导航项目:可在各个导航中增加一个菜单项。 ------------ 1. 扩展项目 个人设置:可在个人设置中增加一个菜单项。 2. 扩展项目 个人设置 - 个人资料:可在个人设置的个人资料页上部增加一个菜单项。 3. 扩展项目 个人设置 - 积分:可在个人设置的积分页上部增加一个菜单项。 4. 扩展项目 站点帮助:可在站点帮助中增加一个菜单项。 5. 扩展项目 我的帖子:可在我的帖子中增加一个菜单项。 6. 扩展项目 门户管理:可在门户管理面板上部增加一个菜单项。 7. 扩展项目 论坛管理 - 基本:可在前台论坛管理面板侧边上部增加一个菜单项。 8. 扩展项目 论坛管理 - 工具:可在前台论坛管理面板侧边下部增加一个菜单项。 9. 扩展项目 管理中心:可在后台插件栏目中为此插件增添一个管理模块。 10. 扩展项目 管理中心 - 列表链接:可在后台插件列表页增添一个远程链接。(Discuz! X3.1 新增) ------------ 1. 程序脚本 页面嵌入 - 普通版:设置一个包含页面嵌入脚本的模块,该模块用于在普通电脑访问的页面显示。模块文件名指派为 source/plugin/插件目录/插件模块名.class.php”。(页面嵌入将在后面的《[页面嵌入模块开发](?ac=document&page=plugin_hook)》中详细说明) 2. 程序脚本 页面嵌入 - 手机版:设置一个包含页面嵌入脚本的模块,该模块用于在手机访问的页面显示。 3. 程序脚本 特殊主题:设置一个特殊主题脚本的模块,模块文件名指派为 source/plugin/插件目录/插件模块名.class.php”。(特殊主题将在后面的《[特殊主题模块开发](?ac=document&page=plugin_specialthread)》中详细说明) 您可以为每个模块设置不同的使用等级,例如设置为“超级版主”,则超级版主及更高的管理者可以使用此模块。 扩展项目模块可以在社区的特定位置扩展出新的功能,通常用于扩展新的设置项目。项目的脚本文件以 .inc.php 结尾(如 test.inc.php),模版为固定文件名,位于插件目录的 template/ 子目录中,文件名与脚本名同名(如 test),扩展名为htm或php。添加相应的扩展项目模块时,需注明程序模块、菜单名称。例如我们添加个人面板项目,程序模块为 test,菜单名称是“测试”,当插件启用后,个人面板即家园的设置中会出现“测试”拓展项目。 在新插件内核中,通过 plugin.php 方式访问的插件可直接通过 `plugin.php?id=xxx:yyy` 方式调用而无需再在后台定义为普通脚本模块,只要 source/plugin/xxx/yyy.inc.php 文件存在即可。如果 xxx 和 yyy 同名,可直接通过 plugin.php?id=xxx 方式访问。 ## 插件变量配置 插件接口中提供了一个通用的插件配置管理程序,在大多数情况下可实现插件的参数配置,省却了插件开发者自行编写后台管理模块(即上面提到的“扩展项目 管理中心”模块)的麻烦。通常情况下,应优先使用通用插件配置管理程序来实现插件的参数配置,只有在通用程序确实无法实现时,才自行编写后台管理模块。输入配置名称和配置变量名、选择合适的配置类型后,即可为此插件增加一个配置变量,点“详情”可以编辑此配置变量的更多信息。为了方便插件程序调用使用者配置好的参数,配置变量同样被存放在了缓存文件中,读取方法将在后面的《[插件的参数读取与缓存控制](?ac=document&page=plugin_vars)》中详细说明。 > **注意:您只有在插件管理中将插件设置为“可用”,以上设置才能生效。** <p class="xg1" align="right">更新时间:2012-5-3</p>
开发文档
平台介绍
技术文档