让自己的插件实现后台配置功能-站长杂谈下载

让自己的插件实现后台配置功能

开通本站Svip会员,全站资源免费下

    前段时间在分析插件的实现原理时,做了一个非常简单的插件做例子.我知道这个插件非常简陋,甚至不能在后台对关键字进行配置,如果想对更多关键字进行屏蔽,只能在文件中进行修改.这样操作是非常麻烦的.

    所以今天我为自己的这个插件做了一个后台配置页面,让我们可以直接在后台对屏蔽的关键字进行修改和添加.大大的方便了插件的使用,看下图: 20150805002055.jpg

好吧,我知道这个后台页面也很简陋,但是它能实现我们需要的功能,这不就够了么.使用方法很简单,每一行添加一个关键字,然后点击那个保存按钮,这个关键字就生效了.

我们输入一个在关键字列表中存在的字符串"qwwww"...点击提交

嗯,看来我们在后台的配置生效了,请不要在意那个错别字!这真不是我的过.

这是怎么实现的呢?这才是这篇文章的关键好吧.

首先我们需要在我们的插件文件夹中新建一个文件,名称必须为插件名_setting结尾,不要问为什么要setting结尾,因为官方文档就是这么说的!然后我还另外创建了一个文件adkill_config用来保存配置信息

20150805003618.jpg

实现方式是在adkill_setting文件中编写后台代码,然后还要使用function plugin_setting()函数来执行保存配置的一些事情.在这里我是进行了写配置操作.代码就像这个样子:

  1. <?php& i3 w- P5 ^3 |2 F2 c) Q! x
  2. function plugin_setting(){+ {. r8 V% |  \" W- L' M, W
  3. $new_config="<?php define('ADKILLCONFIG','".$_POST['addlist']."');";& [9 x* Q6 @* R% \; z3 s
  4. $fso = fopen(EMLOG_ROOT.'/content/plugins/adkill/adkill_config.php','w'); //写入替换后的配置文件
    ( V5 r& H+ ]  s& `9 O" ?
  5. fwrite($fso,$new_config);
    & X5 P8 g! g6 Z8 D' [4 r  X8 `
  6. fclose($fso);2 t7 G5 S' m$ F/ x
  7. return 1;8 {, w+ c8 e# J" _& u5 p7 b9 C
  8. }
    / l5 K( S% a4 ~
  9. ?>
复制代码
这里我是照着评论邮件通知插件写的,所以变量名称有点相似(其实我不懂写插件,目前也还在学习).没有这个函数就会出错,我是看了globals文件才知道的...

然后这个函数是把textarea文本域中的字符串写入配置文件,为了防止读取时直接显示出内容来所以写进了一个常量里= =,

然后adkill文件调用这个常量转换为数组进行一一匹配,就实现了屏蔽功能了.那么,本文就先到这里吧.

附上源文件,大家一起学习!


; @" }8 x% b1 s. H+ E

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部