最近discuz有个小功能需求,需要实现送某某积分的操作,但是是对外的。不可进行其它操作。下面用B积分进行表示
只是需要在积分日志列表上进行显示,但是又不可对该积分进行操作。考虑到不影响discuz的系统.使用扩展积分8类型,但是该积分是关闭状态,无法进行其它操作。
送B积分时,使用类型参数8进行标志。如:
updatemembercount ( array ( // 用户id ), array ( 8 => $score //分值 ), true, '', 1, '', '标题','内容描述' );
然后前台显示时,在插件钩子处,挂上类型8的显示,只在特殊地方进行显示。别的地方调用时,也不会出现什么影响
如:
class plugin_xxxxx_home extends plugin_gd_jifen { function spacecp_credit_extra() { $_G ['setting'] ['extcredits'] [8] = array ( 'img' => '', 'title' => 'B积分', 'unit' => '', 'ratio' => 0, 'showinthread' => '0', 'allowexchangein' => '', 'allowexchangeout' => '', 'hiddeninheader' => true ); } }
前台显示赠送的B积分提示
原理:http://witmax.cn/discuz-credits-analysis.html
但是具体要提示的,需要补充下面的代码:
$_G ['setting'] ['creditnames'] .= ',8|B|';
页面通过判断html里是否有该标志进行对应的提示