插件discuz,x3模板下载

discuz下载  时间:2021-01-30  阅读:()

篇一 D is c u zX3.x模板插件开发制作教程(从入门到精通)

一、开发插件所需资料与工具

1、 D is c uz X3插件机制

插件机制D is c uz!拥有一套完整的插件机制。

合理使用插件机制你可以更好的将自己的个性功能需求整合到D is c uz!产品中的同时保持代码独立并且不受后续D is c uz!产品版本升级的影响。 我们鼓励并推荐使用插件机制进行个性需求定制和研发。

插件设计的准备工作

插件实现流程

开始编写社区插件您应当首先对插件实现的流程有一个大致的了解 以下是我们推荐的插件编写流程

??

熟练使用D is c u z!社区系统后对希望完善或补充的个性化功能进行评估进而提出插件的功能需求。

??对插件做一个概括性的设计例如需要使用什么菜单、什么参数配置哪些选项、数据结构如何设计、前后台实现哪些功能等等。

1

??阅读本文档并在系统设置中实际体验D is c u z!插件接口所实现的功用例如您的插件应当如何设计才能良好的挂接到社区系统中来。插件接口

能够实现哪些功能、不能实现哪些功能插件为此而需要做的优化、改造和取舍。

??编写相应程序代码和模板语句实现所需的功能并进行代码测试、兼容性测试和代码改进。

??如果需要公开您的插件可以用插件导出的方式将插件配置信息导出到一个XML文件中连同相应的程序和模板文件一同打包。 同时编写

一个适合新手的插件的说明书也是必不可少的其中包括插件适用的D is c uz!版本、功能概述、兼容性声明、安装方法、使用方法、卸载方法等

等。

??将插件提供给他人或自己使用根据使用者反馈对插件进行完善。插件实现流程至此结束。

??

文件命名规范

D is c uz!按照如下的规范对程序和模板进行命名请在设计插件时尽量遵循此命名规范

??可以直接通过浏览器访问的普通程序文件 以.p hp后缀命名。

2

??被普通程序文件引用的程序文件 以 .inc.php后缀命名。

??被普通程序文件或引用程序文件引用的函数库或类库以.func.php(函数库)或.class.php(类库)后缀命名。

??模板文件 以 .htm后缀命名插件模板文件存在于source/plug in/identifie r/template/ 目录中手机版插件模板存在于so urce/plug in/ide ntifie r/template/mobile/目录中

??模板语言包文件 以.lang.p hp后缀命名插件语言包文件开发时存放于data/plugindata/ 目录中 文件名为ide ntifie r.la ng.p hp。

??动态缓存文件存放于./data/cache 目录中依据不同的功用进行独立的命名。

??使用后台数据备份功能生成的备份文件通常以.sql为后缀存放于data/ 目录中。

??有些目录中存在内容为空白的index.htm文件此类文件是为了避免Web服务器打开Directory Index时可能产生的安全问题。

??[X2.5新增内容]从D isc uz!X2.5开始产品对数据表进行了封装封装后的文件统一命名为 Ta b le类通过

“C: :t(Ta b le类文件名)”方式调用。

插件如需封装自己的数据表可将Ta b le类文件存放于

3

source/plug in/identifie r/ta ble/ 目录下并以table_表名.php格式命名详见X2.5的新

程序架构。

??class_core.php模块功能白皮书source/class/class_core.php是Discuz!的通用初始化模块程序其几乎被所有的外部代码所引用在您开始插件设计之前 可以先对该模块的大致功能做一定的了解。class_core.php主要完成了以下任务

??对不同PHP及操作系统环境做了判断和兼容性处理使得D is c uz!可以运行于各种不同配置的服务器环境下。

??初始化常量IN_DISC UZ为TRUE 用于inc lude或require后续程序的判断避免其他程序被非法引用。

??读取社区程序所在绝对路径 存放于常量DISCUZ_ROOT中。

?? 加 载 所 需 的 基 本 函 数 库source/functio n/functio n_core.php。

??通过c o nfig/c o nfig_glo ba l.p hp中提供的数据库账号信息建立数据库连接。 D is c u z!支持数据表的前缀如需获得表的全名可使用

“DB: :table('tablename')”方式。

??判断用户是否登录如登录标记$_G['uid']

4

为非 0  同时将 $_G['username'] 加了adds lashes的用户名可用于不加修改的插入数据库、

$_G['member'] ['username'] 原始的用 户 名  可 用 于 页 面 显 示  、$_G['member'] ['password']用户密码的MD5串等相应用户信息赋值其他

用户信息存放于$_G['member'] 更多信息可通过“getuserprofile()”获取。

??判断用户管理权限 将管理权限标记$_G['adminid']为1~3中间的值。0代表普通用户 1代表论坛管理员 2代表超级版主 3代表论坛版

主。 将用户权限按照其所在的主用户组ID标记为$_G['groupid']  相 关 权 限 从 该$_G['groupid']所对应的系统缓存中读出存放于$_G['g ro up'] 。

??预置读入了每个模块的各种设置变量。

??[X2.5变更内容] $_G['username']将不进行addslashes处理。

插件接口概述

使用管理员账号登录D is c u z!管理中心在顶部菜单将可以看到“插件”菜单。 “插件列表”列出了所有已安装的插件是控制插件打开与否、设计插件模块、菜单、参数和使

5

用权限的地方插件开发者可以依照设计意图在此进行插件的初步设置这里同时也提供插件导入和插件开关的功能 用于导入他人设计的插件和对插件的可用状态进行变更。

开 始 编 写一个新插件  请首先 打开c o nfig/c o nfig_globa l.p hp文件在文件结尾添加以下代码开启插件设计者模式。

??$_config['plugindevelope r']=1;

在插件管理中选择“设计新插件”填写插件名称名称用于表明此插件的用途例如设置为“虚拟银行插件”。惟一标识符用于在后续的插件模块中调用本插件不可与现有插件重复命名规则限制与PHP变量命名相同虽然初次设置后仍可改动但强烈建议一次性将此配置设置好否则可能涉及到很多代码方面的变更增加编码的麻烦。请注意惟一标识符请不要设置的过短或使用有可能与其他插件重复的命名例如制作此插件的公司叫做Comsenz Inc. 插件名称是“虚拟银行插件”  惟一标识符可设置为

“comsenz_virtual_bank”。最后在source/plugin/ 目录中创建 与 唯 一标识符 同 名 的 目 录 名  如source/plugin/comsenz_virtual_bank/。

在插件管理中添加插件后仅仅是增加了一条插件记录后面还需要很多相关的设计和设置。在列表中选择插件的

6

“详情”进入插件的详细设置。插件设置分为三个部分

??

插件模块

插件模块分为程序链接、扩展项目和程序脚本3类

程序链接主导航项目可在主导航栏增加一个菜单项可自主指派菜单链接的U RL也可以调用插件的一个模块模块文件名指派为source/plugin/插件目录/插件模块名.inc.php”。注意 由于引用外部程序 因此即便设置了模块的使用等级您的程序仍需进行判断使用等

级是否合法。

??程序链接主导航项目 -插件菜单可在主导航栏的插件子菜单中增加一个菜单项。

??程序链接顶部导航项目、底部导航项目、快捷导航项目、家园导航项目可在各个导航中增加一个菜单项。

??扩展项目个人设置可在个人设置中增加一个菜单项。

??扩展项目个人设置-个人资料可在个人设置的个人资料页上部增加一个菜单项。

??扩展项目个人设置-积分可在个人设置的积分页上部增加一个菜单项。

??扩展项目站点帮助可在站点帮助中增加一个菜单项。

??扩展项目我的帖子可在我的帖子中增加一个菜单项。

7

??扩展项目 门户管理可在门户管理面板上部增加一个菜单项。

??扩展项目论坛管理-基本可在前台论坛管理面板侧边上部增加一个菜单项。

??扩展项目论坛管理-工具可在前台论坛管理面板侧边下部增加一个菜单项。

??扩展项目管理中心可在后台插件栏目中为此插件增添一个管理模块。

??程序脚本页面嵌入-普通版设置一个包含页面嵌入脚本的模块该模块用于在普通电脑访问的页面显示。模块文件名指派为source/plugin/插件目录/插件模块名.class.php”。 页面嵌入将在后面的《》中详细说明

??程序脚本页面嵌入-手机版设置一个包含页面嵌入脚本的模块该模块用于在手机访问的页面显示。

??程序脚本特殊主题设置一个特殊主题脚本的模块模块文件名指派为 source/plugin/插件目录/插件模块名.c la s s.p hp”。 特殊主题将

在后面的《特殊主题模块开发》中详细说明

??

您可以为每个模块设置不同的使用等级例如设置为“超级版主”则超级版主及更高的管理者可以使用此模块。

8

扩展项目模块可以在社区的特定位置扩展出新的功能通常用于扩展新的设置项目。项目的脚本文件以.inc.p hp结尾如test.inc.php模版为固定文件名位于插件目录的template/子目录中文件名与脚本名同名如test.htm扩展名为.ht m。添加相应的扩展项目模块时需注明程序模块、菜单名称。例如我们添加个人面板项目程序模块为test菜单名称是“测试”当插件启用后个人面板即家园的设置中会出现“测试”拓展项目。

在新插件内核中通过plugin.php方式访问的插件可直接通过plugin.php?id=xxx:yyy方式调用而无需再在后台定义为普通脚本模块只要source/plugin/xxx/yyy.inc.php文件存在即可。 如果 xx x和 yyy 同名 可直接通过plugin.php?id=xxx方式访问。

插件变量配置

插件接口中提供了一个通用的插件配置管理程序在大多数情况下可实现插件的参数配置省却了插件开发者自行编写后台管理模块即上面提到的“扩展项目管理中心”模块的麻烦。通常情况下应优先使用通用插件配置管理程序来实现插件的参数配置只有在通用程序确实无法实现时才自行编写后台管理模块。输入配置名称和配置变量名、选择合适的配置类型后 即可为此插件增加一个配置变量点“详情”可以编辑此配置变量的更多信息。为了方便插件

9

PacificRack 端午节再来一款年付$38 VPS主机 2核4GB内存1TB流量

这不端午节和大家一样回家休息几天,也没有照顾网站的更新。今天又出去忙一天没有时间更新,这里简单搜集看看是不是有一些商家促销活动,因为我看到电商平台各种推送活动今天又开始一波,所以说现在的各种促销让人真的很累。比如在前面我们也有看到PacificRack 商家发布过年中活动,这不在端午节(昨天)又发布一款闪购活动,有些朋友姑且较多是端午节活动,刚才有看到活动还在的,如果有需要的朋友可以看看。第一、端...

天上云:香港大带宽物理机服务器572元;20Mbps带宽!三网CN2线路

天上云服务器怎么样?天上云是国人商家,成都天上云网络科技有限公司,专注于香港、美国海外云服务器的产品,有多年的运维维护经验。世界这么大 靠谱最重,我们7*24H为您提供服务,贴心售后服务,安心、省事儿、稳定、靠谱。目前,天上云香港大带宽物理机服务器572元;20Mbps带宽!三网CN2线路,香港沙田数据中心!点击进入:天上云官方网站地址香港沙田数据中心!线路说明 :去程中国电信CN2 +中国联通+...

DiyVM:香港VPS五折月付50元起,2核/2G内存/50G硬盘/2M带宽/CN2线路

diyvm怎么样?diyvm这是一家低调国人VPS主机商,成立于2009年,提供的产品包括VPS主机和独立服务器租用等,数据中心包括香港沙田、美国洛杉矶、日本大阪等,VPS主机基于XEN架构,均为国内直连线路,主机支持异地备份与自定义镜像,可提供内网IP。最近,DiyVM商家对香港机房VPS提供5折优惠码,最低2GB内存起优惠后仅需50元/月。点击进入:diyvm官方网站地址DiyVM香港机房CN...

discuz下载为你推荐
软银收购arm一个公司要收购另一个公司(特别是国际大公司之间的收购行为)要满足什么条件才能收购?非主流桌面背景图片大家都哪里找的那么个性的电脑壁纸,法兰绒和珊瑚绒哪个好珊瑚绒和法兰绒哪个暖和苹果手机助手哪个好苹果手机助手哪个好,苹果手机助手推荐?尼康和佳能单反哪个好尼康和佳能哪个好啊?手机炒股软件哪个好手机炒股哪个软件好 要免费的oppo和vivo哪个好vivo和oppo哪个更耐用电动牙刷哪个好飞利浦电动牙刷哪款好?求推荐51个人空间登录为什么登陆51博客个人空间就不能登陆QQqq空间登录网站QQ空间打开需要输入用户名和密码,下面是正在连接一个网址和领域网址
双线vps 主机优惠码 2019年感恩节 香港机房 全球付 免费主机 博客主机 la域名 ixwebhosting 网页背景图片 免费网络电视 ibrs java空间 中国电信宽带测速网 卡巴斯基免费试用版 英国伦敦 监控服务器 smtp服务器地址 lamp架构 摩尔庄园注册 更多