1.认识doAction 挂载点函数
& S; `' y) |& x* L7 z5 [插件挂载点函数是系统预设在各个页面的插件接口,系统在执行到挂载点时会自动执行挂载到上面的插件函数.该函数在emlog的系统function.base.php中定义.该函数有一个固定的参数表示该挂载点的名称,而后的其他参数参数可以依次传入.传入的参数可以给插件函数使用,当然也可以不使用.
2 C4 N) H1 D! H" W" h3 p8 o2.认识addAction 插件挂载函数
7 f# H' b' x( i4 u i该挂载函数在插件文件中使用,可以实现将插件中的函数挂载到插件挂载点中让doAction函数执行,实现插件功能.该插件有两个参数,一个为挂载点名称(必须为系统中已经预先设置好的名字),一个为要挂载的函数.也就是要执行的函数.
" t0 y* u. [" n X" J( d在制作插件的实际过程中我们只需要用addAction('系统预设挂载点','插件中的函数')就可以实现插件的功能,在插件函数中可以使用挂载点传入的参数.例如你想做一个屏蔽广告评论的插件.可以使用doAction('comment_post')发表评论前的挂载点.然后在插件中使用addAction('comment_post', 'adshielding');- ^* T7 Y/ T# g7 [
然后写一个方法
7 {5 n5 I# a7 a# k7 B6 ifunction adshielding(){/ s5 R/ Z9 v. k$ b6 s
$adkill_string = addslashes(trim($_POST['comment']));% u$ h8 v. u& L- q- @8 e
$adkill_keyword = array('联系','手机','QQ');
5 ?# \/ k }- B6 H& V$adkill_str = str_replace($adkill_keyword,'', $adkill_string ,$adkill_count);; U" D+ ^8 e: k9 ?3 T
if($adkill_count>0){emMsg('评论失败:该评论包涵广告字符!');}# {' e. |7 M# `; Z2 ^
}
8 l: q" r$ V2 n然后看看效果吧,先在后台打开插件 v3 Q% ^( t" @. u2 T# J
% y% G) s8 @% x. K7 N然后在评论中评论包含被屏蔽的文字,评论就被屏蔽掉啦
6 q$ \. G" I" M9 |2 G) S$ a
! }. t+ U0 c4 y
' D4 `8 A- s) }
最后输入正常的评论看看效果
3 C2 J9 [5 t/ n: t$ Q5 o" ~
* Q- u: T/ s8 W; O
# i7 f: D& }1 V9 |% B9 G这样一个最简单的防广告插件就完成啦,是不是很简单!4 a3 C2 k K/ M# K S
没有错,使用emlog制作插件就是这么的容易,只要你会一点php的知识,结合emlog的钩子函数,就能制作出一个插件来.还等什么,马上行动开始制作一个属于自己的插件吧!! @( V- _' [6 U
|