多语言展示
当前在线:1636今日阅读:86今日分享:14

discuz插件开发之快速回复插件

对于初入discuz的程序员,插件开发是必需要学会的。学会discuz插件开发,既可完成网站的功能扩展需求,又可以发布插件到discuz的应用中心,赚取收入。但是有的朋友一听到插件开发,就望而却步了。其实discuz开发插件并没有想像中复杂。现在就由我向大家介绍一款快速回复插件的整个开发过程,这是效果图
方法/步骤
1

开启插件设计者模式首先在 Discuz 配置文件 config/config_global.php 底部加入代码:$_config['plugindeveloper'] = 1;

2

初始化插件的基本信息管理员进入后台应用 -> 插件 -> 插件设计, 开始进行新插件的设计, 添加初始化插件的基本信息。填写好插件的名称、插件版本号、版权信息、唯一标识符,提交即可。

3

建立插件目录添加完基本信息后, 在插件文件夹目录 source/plugin/ 下新建和插件唯一标识符同名的文件夹(这里我们新建quick_reply 文件夹)。 如果插件开发过程中需要语言包, 则后台开启设置后在 data/plugindata/ 下添加语言包文件, quick_reply.lang.php (quick_reply为插件初始化中添加的唯一标识符)来存储我们插件开发过程中用到的语言。因为我们现在开发的插件无需语言文件,所以语言文件无需建立,图只为说明语言文件存放位置。

4

填写插件信息填写完插件的基本信息点击确定,系统跳转到插件的设计页。

5

新增模块在插件列表中找到我们新设计的插件,点击设计菜单,进入插件的设计页。我们点击“模块”菜单,为插件添加一个模块类型为“页面嵌入-普通版”,程程序模块为“quick_reply”的模块。

6

新增插件变量还是进入插件设计页,点击变量菜单,新增插件所需的几个变量。当我们输入错误时,我们可以点击变量右侧的“详情”菜单,对变量进行修改

7

记录hookid(钩子ID)因为我们插件模块类型是页面嵌入,所以我们把第一步中的$_config['plugindeveloper'] = 1成成$_config['plugindeveloper'] = 2,然后回到论坛的帖子页面,找到相关hookid,记下hookid的名称后,把值改回1

8

建入模块文件在新建的插件目录下新建一个和第五步中程序模块同名的文件,即quick_reply.class.php。写上如下代码/** * *  quick_reply.class.php 2014-10-6 子海(www.zihaihaidetiandi.com) */if(!defined('IN_DISCUZ')) {  exit('Access Denied');}class plugin_quick_reply{}class plugin_quick_reply_forum extends plugin_quick_reply{  public function viewthread_fastpost_content_output(){  }}

9

编写程序实现代码我们在viewthread_fastpost_content_output方法内写入以下代码 global $_G;//全部变量 $config = $_G['cache']['plugin']['quick_reply'];//获取插件的变量信息 if($_G['uid'] && $config['disable'])//用户是否登陆,快复回复是否禁用 { $border_color = $config['border_color'] ? $config['border_color'] : ' #C2D5E3'; $bg_color = $config['bg_color'] ? $config['bg_color'] : '#E5EDF2'; $left_content = $config['left_content']; $default_content = $config['select_default']; //获取下拉框中的内容,并且定义以[br]分割所填的内容。 $select_content = explode('[br]', str_replace(array('\n\r', '\t',), array('', ''), $config['select_content'])); $str = '

  '.$left_content.'     
';     return $str; }

10

编写js实现代码当我们选择下拉框中的值时,如何把值传入回贴框中呢?这个效果就js实现了。我们现在$str变量中追加以下代码 $str .= '';

11

设置插件我们在插件列表中找到插件,点击启用。启用之后,在插件名称的下方就会出现“设置”菜单,左侧主菜单同样会出现插件设置菜单

12

前台查看完成插件的设置之后,我们返回前台查看

注意事项
1

模块文件的名称一定要按官方的命名规则命名

2

更多说明,请参考discuz的开发文档。

推荐信息