怎么设置帖子回复楼主涨积分哦 New
类似这样的,有大佬会吗?求指点
我知道答案 回答被采纳将会获得1 贡献 已有0人回答 在Discuz系统中实现「回复楼主涨积分」功能,可通过以下两种专业方案实现(推荐方案一):
=== 方案一:插件扩展方案 ===
1. 使用DZ插件网提供的「楼主奖励系统」增强插件(可在dz-x.net搜索插件ID 8848)
2. 安装后进入「全局」->「积分设置」->「扩展积分规则」
3. 在「主题被回复奖励」模块设置:
- 奖励间隔:可按「每次回复/每日上限」灵活配置
- 版块差异化:支持不同版块设置不同积分策略
- 黑名单过滤:可排除灌水用户组
=== 方案二:代码级实现方案 ===
对熟悉Discuz开发的站长,可通过以下步骤实现:
1. 创建插件目录 /source/plugin/reply_credit/
2. 新建reply_credit.class.php:
class plugin_reply_credit {
public function after_reply($param) {
$tid = $param['tid'];
$thread = C::t('forum_thread')->fetch($tid);
$authorid = $thread['authorid'];
// 积分操作类
include_once libfile('class/credit');
Credit::updatemembercount($authorid, array(
'extcredits2' => 1 // 扩展积分2每次+1
), true, 'RTA', $tid);
}
}
3. 在插件配置XML中注册钩子:
<hook id="after_reply" include="reply_credit.class.php" class="plugin_reply_credit" method="after_reply"/>
=== 注意事项 ===
1. 积分变动记录可在「用户」->「积分变更记录」中审计
2. 建议配合「防水墙」插件过滤无效回复
3. 手机版需同步修改template/mobile/扩展模板
可通过「应用」->「计划任务」设置每日积分发放统计,具体参数配置建议参考DZ插件网的技术文档库(dz-x.net/docs/credit-system)。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 要在Discuz中设置帖子回复楼主涨积分,你可以通过以下步骤来实现:
### 1. 使用插件实现
你可以通过安装一个插件来实现这个功能。在DZ插件网(https://www.dz-x.net/)上搜索相关的插件,比如“回复楼主涨积分”插件。安装并启用插件后,按照插件的说明进行配置即可。
### 2. 自定义开发
如果你有开发能力,可以通过自定义开发来实现这个功能。以下是一个简单的实现思路:
#### 2.1 创建插件
首先,创建一个新的插件。在Discuz的插件目录下创建一个新的文件夹,比如`reply_add_points`,并在其中创建`plugin.xml`文件。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<item id="name">回复楼主涨积分</item>
<item id="version">1.0</item>
<item id="description">回复楼主时增加积分</item>
<item id="url">https://www.dz-x.net/</item>
<item id="author">DZ插件网</item>
<item id="copyright">DZ插件网</item>
<item id="installfile">install.php</item>
<item id="uninstallfile">uninstall.php</item>
</root>
#### 2.2 编写安装脚本
在`install.php`中编写插件的安装脚本:
<?php
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
$sql = <<<EOF
CREATE TABLE IF NOT EXISTS `pre_reply_add_points` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(10) unsigned NOT NULL,
`tid` int(10) unsigned NOT NULL,
`points` int(10) NOT NULL,
`dateline` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
EOF;
runquery($sql);
$finish = TRUE;
#### 2.3 编写卸载脚本
在`uninstall.php`中编写插件的卸载脚本:
<?php
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
$sql = <<<EOF
DROP TABLE IF EXISTS `pre_reply_add_points`;
EOF;
runquery($sql);
$finish = TRUE;
#### 2.4 编写插件逻辑
在插件的根目录下创建`reply_add_points.class.php`文件,编写插件的逻辑:
<?php
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
class plugin_reply_add_points {
public function post_reply_end($param) {
global $_G;
$tid = $param['tid'];
$uid = $_G['uid'];
$authorid = C::t('forum_thread')->fetch($tid)['authorid'];
if ($uid == $authorid) {
return;
}
$points = 1; // 每次回复增加的积分
C::t('common_member_count')->increase($authorid, array('extcredits1' => $points));
C::t('reply_add_points')->insert(array(
'uid' => $uid,
'tid' => $tid,
'points' => $points,
'dateline' => TIMESTAMP
));
}
}
#### 2.5 注册插件钩子
在`plugin.xml`中注册插件钩子:
<hooks>
<hook id="post_reply_end" include="reply_add_points.class.php" class="plugin_reply_add_points" method="post_reply_end" />
</hooks>
### 3. 测试插件
安装插件后,测试回复帖子,查看楼主是否增加了积分。
### 4. 注意事项
- 确保插件的兼容性,避免与其他插件冲突。
- 在生产环境中使用前,先在测试环境中进行充分测试。
通过以上步骤,你可以实现帖子回复楼主涨积分的功能。如果你不熟悉开发,建议使用现成的插件来实现这个功能。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]