一木当家(30):Discuz!论坛炮制大法之插件安装、使用篇

网络通信

  在上期的一木“当家”中,我们介绍了Discuz!论坛的管理、设置方法,相信大家对论坛的管理与设置已经非常地熟悉了。今天,我们将介绍Discuz!论坛插件的安装与使用方法,让大家在Discuz!论坛中玩出个性、玩出花样。

  一、下载插件

  因为Discuz!采用了标准的开发方式,为外挂插件提供了完善的支持,所以网上提供Discuz!论坛插件下载的站点也越来越多。知名的包括有Discuz!官方站点(http://www.discuz.net)、FreeDiscuz(http://www.freediscuz.net)、Discuz!插件下载(http://hfut.ys168.com)等。

  本文介绍的是一款名为“完美银行 1.03CP”的插件,大小为17KB。通过该插件可以对会员进行批量现金、积分奖惩,设定多种条件组合,奖励、惩罚单个用户并可以得到通知。

  一木提示:该插件仅仅适用于没有安装过银行插件的Discuz!2.0/2.2论坛,如果已经安装了银行插件,最好先卸载掉,否则会产生冲突。大家可以查看《电脑报》读者论坛中的“银行”功能。

  二、安装插件

  要使用插件,首先需要进行相应的安装,以“完美银行 1.03CP”插件为例,具体的步骤如下:

  第一步,首先解压下载的插件,并通过FTP软件将压缩包中的Discuz文件夹的所有内容传到论坛的安装目录中。

  第二步,打开论坛安装目录中的cofig.php文件,在“Discuz! 插件”位置添加如下内容:

  $plugins[] = array ('name' => '银行',

  'script' => '',

  'url' => 'bank.php',

  'cpurl' => 'admincp.php?action=advcenter&hackname=bank');

  然后,将“bank.php”文件拷贝到论坛安装目录的“plugins”文件夹中。

  一木提示:添加该内容可以让论坛在菜单处自动显示“银行”的链接(图1)。$plugins用于实现插件接口;name为插件名称;script表示需要插入的程序名称,如果不需要插入程序,可以留空;url表示插件在前台的URL;cpurl表示插件在后台的接口URL,如果插件不需要后台,可以设为空。

  第三步,以管理员身份登录,点击上面“系统设置”进入论坛管理窗口,在左侧窗口中依次点击“数据管理→数据库升级”,输入以下内容:

  ALTER TABLE `cdb_members` ADD `money` INT(10) DEFAULT '100' NOT NULL, ADD `bank` INT(10) DEFAULT '0' NOT NULL, ADD `savemt` INT(10) DEFAULT '0' NOT NULL;

  单击“数据库升级”按钮来完成数据库的升级。

  第四步,打开“论坛安装目录/include”中的“global.php”,搜索“function submitcheck”。如果有此项,将“function submitcheck”更改为其他字符,比如“function submitcheck_old”。如果没有搜索到,则不用更改。最后,保存并退出。

  第五步,同样是打开上述的“global.php”,在最后?>符号之前添加一段代码。考虑到篇幅的原因,这里大家可以参照“完美银行 1.03CP”插件《安装说明书》。

  第六步,打开“论坛安装目录/include”中的“common.php”,搜索“m.password AS discuz_pw”,并替换为“m.password AS discuz_pw,m.bank as userbank,m.money as usermoney”,保存并退出。

  第七步,打开论坛安装目录中的“adm

  incp.php”,首先,查找以下内容:

  } elseif($action == 'illegallog' || $action == 'karmalog' || $action == 'modslog' || $action == 'cplog') {

  替换为:

  } elseif($action == 'illegallog' || $action == 'karmalog' || $action == 'modslog' || $action == 'cplog' || $action == 'bankchglog' || $action == 'bankbuylog') {

  接着继续查找以下内容:

  array('name' => '系统管理记录', 'url' => 'admincp.php?action=cplog'  );

  替换为:

  array('name' => '系统管理记录', 'url' => 'admincp.php?action=cplog'),

  array('name' => '银行转账记录', 'url' => 'admincp.php?action=bankchglog'),

  array('name' => '积分买卖记录', 'url' => 'admincp.php?action=bankbuylog'  );

  三、使用插件

  安装插件之后,会员登录后就可以使用“银行”服务了。只要在页面上方单击“银行”就能进入“营业大厅”(图2)。

  在这里,会员可以将拥有的现金资产进行保存,通过“取款”来将金币换为现金,别忘了还有银行利息哟!通过“转账汇款”功能还可以将金币转账给其他会员,不过是交10%手续费!另外,还可以通过“积分买卖”功能来用金币买积分,用积分换金币。点击“财富资讯”还可以了解到论坛里各位会员的财富排名情况。

  四、管理插件

  同论坛的其他功能一样,安装的插件也需要进行管理的。我们以管理员身份登录,打开论坛管理窗口。展开页面左侧的“插件配置”,此时就会发现“银行”插件,单击“银行”就可以在右侧的窗口中进行管理、设置(图3)。

  在“银行基本设置”项目中可以对货币单位名称、银行存款利率、用户财富分级等进行设置;在“银行转账设置”中可以对会员转账功能、转账存款限制、手续费等进行设置;在“积分买卖设置”中可以对积分买入、卖出价格以及手续费进行设置;在“财富等级设置”中还可以自定义不同的财富等级。最后,单击“确认修改”按钮完成设置。

  一木提示:默认情况下,安装“银行”插件后是无法打开管理窗口的,为此我们可以借助于一个名为“FreeDiscuz插件中心”的插件来管理。该插件的下载页面为http://www.freediscuz.net/phpbbs/viewthread.php?fpage=1&tid=1716。

  编后 本文介绍的只是众多插件中的一个,其他插件的安装、调试方法有所不同,我们会在一木“当家”栏目中陆续介绍这些插件运用。至此,Discuz!论坛主要的安装、设置以及插件方面的内容也全部介绍完了。希望通过这几期的学习,大家能够掌握较多的Discuz!论坛技术。