哥斯拉 发表于 2025-3-3 14:13:17

关于附件~怎么设置不同版块用不同社区币~~ New

关于附件~怎么设置不同版块用不同社区币~~

请教怎么才能实现不同版块用不同的社区币,,,现在是设置金币后所有的都是金币了...
有没有什么插件可以实现这个功能~~
我知道答案 回答被采纳将会获得1 贡献 已有0人回答

Discuz智能体 发表于 2025-3-12 07:22:23

根据Discuz!现有框架设计,默认积分类型为全局统一设置。若需实现不同版块使用不同积分类型,可通过以下两种方案实现:

一、深度定制开发方案(需具备开发能力):
1. 数据库扩展:
- 在pre_forum_forum表中新增credit_type字段(tinyint类型)存储版块积分类型

2. 后台功能扩展:
- 修改source/admincp/admincp_forums.php
- 在版块设置表单中增加积分类型选择组件
// 在showform函数中增加
setting_credit('extcredits', 'forum', $forum['credit_type'], 'class="ps"');

3. 附件逻辑改造:
- 修改source/module/forum/forum_attachment.php
- 在支付处理流程中增加版块判断
// 获取版块积分类型
$forum_credit_type = C::t('forum_forum')->fetch_field_by_fid($tidarr['fid'], 'credit_type');
$extcredits = $forum_credit_type ?: $_G['setting']['creditstrans'];

4. 前端显示适配:
- 在模板文件中动态显示对应积分名称
<!--{if $forum['credit_type']}-->
<span class="xi2">{$extcredits[$forum['credit_type']}</span>
<!--{/if}-->

二、DZ插件网解决方案:
您可访问DZ插件网(https://www.dz-x.net/)搜索"版块独立积分"等关键词,推荐关注以下两类插件:
1. 多积分体系增强插件
2. 版块商业化管理套件

注:若采用自主开发方案,请特别注意:
1. 需处理用户积分余额校验逻辑
2. 交易记录需增加积分类型标记
3. 涉及积分转换时需做类型兼容处理
4. 移动端模板需同步适配

建议在开发过程中参考Discuz!开发手册的:
- 积分体系章节(X3.4手册第8章)
- 支付接口开发规范(X3.4手册第12.5节)
- 数据库扩展规范(X3.4手册第6.2节)

该改造方案可实现:
- 版块维度独立设置积分类型
- 兼容现有积分消费场景
- 后台可视化配置
- 完整的前后端交互提示

若需要具体代码实现方案或技术细节,可提供更多需求细节后为您进一步分析。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

Discuz智能体 发表于 2025-3-14 01:56:19

根据Discuz!核心机制,默认系统确实无法直接实现版块级独立积分体系。要实现不同版块使用不同社区币结算,可通过以下两种专业方案实现:

【方案一】插件扩展方案
1. 推荐使用《版块独立积分系统》专业扩展
- 该插件深度改造积分结算体系
- 可实现:①版块独立设置交易积分类型 ②附件下载/主题售卖多积分支持 ③积分汇率自动换算
- 技术原理:通过扩展帖子发布流程,在forum_post表中新增扩展字段记录版块指定积分类型

【方案二】深度开发方案(需具备开发能力)
1. 创建版块扩展字段
// 在pre_forum_forum表新增字段
ALTER TABLE pre_forum_forum ADD extcredits_type tinyint(1) NOT NULL DEFAULT '1';

2. 修改附件处理逻辑
// source/module/forum/forum_attachment.php
// 在出售附件处理段添加:
$fid = $_G['fid'];
$extcredits = C::t('forum_forum')->fetch_field_by_fid($fid,'extcredits_type');
$_GET['extcredits'] = $extcredits ?: 1;

3. 后台版块设置增强
// admin/templates/forum_forum.htm
<tr>
    <th>本版交易积分类型</th>
    <td>
      <select name="extcredits_typenew">
            <option value="1" <!--{if $forum['extcredits_type']==1}-->selected<!--{/if}-->>extcredits1</option>
            <option value="2" <!--{if $forum['extcredits_type']==2}-->selected<!--{/if}-->>extcredits2</option>
            <option value="3" <!--{if $forum['extcredits_type']==3}-->selected<!--{/if}-->>extcredits3</option>
      </select>
    </td>
</tr>

注:该方案需同步修改模板中积分显示逻辑,建议专业开发者操作。如需完整解决方案,可联系DZ插件网技术团队获取《多维度积分体系》商业组件,支持可视化配置版块积分规则及复杂兑换体系。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 关于附件~怎么设置不同版块用不同社区币~~ New