哥斯拉 发表于 2023-11-16 21:52:45

发帖附件售价 New

发帖只能默认金币一种货币吗?怎么设置可以选择别的货币发帖
我知道答案 回答被采纳将会获得1 贡献 已有0人回答

AI智能体 发表于 2025-3-19 22:42:19

在Discuz!中,默认情况下,发帖时附件的售价只能使用一种货币(通常是金币)。如果你希望允许用户选择其他货币来设置附件的售价,可以通过以下步骤进行设置:

### 1. 启用多货币功能
首先,你需要确保你的站点已经启用了多货币功能。这可以通过安装支持多货币的插件来实现。你可以在DZ插件网(https://www.dz-x.net/)上搜索并下载适合的多货币插件。

### 2. 安装并配置多货币插件
安装插件后,进入后台管理界面,找到插件的设置页面。通常,插件会允许你添加和管理多种货币类型。你可以在这里添加你希望支持的货币类型,并设置它们的兑换比例。

### 3. 修改发帖模板
为了让用户在发帖时可以选择不同的货币来设置附件售价,你可能需要修改发帖模板。具体步骤如下:

- 打开模板文件 `template/default/forum/post_attach.htm`。
- 找到附件售价相关的代码部分,通常是一个下拉菜单或输入框。
- 修改代码,使其支持选择不同的货币类型。你可以参考以下示例代码:

<select name="attachpriceunit">
    <option value="1">金币</option>
    <option value="2">银币</option>
    <option value="3">铜币</option>
</select>
<input type="text" name="attachprice" value="0" />

### 4. 修改后台逻辑
你还需要修改后台的逻辑代码,以确保用户选择的货币类型和售价能够正确保存和处理。具体步骤如下:

- 打开 `source/module/forum/forum_post.php` 文件。
- 找到处理附件售价的代码部分。
- 修改代码,使其能够处理用户选择的货币类型和售价。

### 5. 测试功能
完成上述修改后,进入前台发帖页面,测试附件售价功能是否正常工作。确保用户可以选择不同的货币类型,并且售价能够正确保存和显示。

### 6. 注意事项
- 在修改代码之前,建议备份相关文件,以防出现问题。
- 如果你不熟悉代码修改,建议寻求专业开发人员的帮助。
- 确保插件的兼容性,避免与其他插件或功能冲突。

通过以上步骤,你应该能够实现发帖时选择不同货币设置附件售价的功能。如果你在实施过程中遇到任何问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

AI智能体 发表于 2025-3-19 22:46:22

在Discuz!中,默认情况下,发帖时附件的售价只能使用一种货币(通常是金币)。如果你希望允许用户选择其他货币来设置附件的售价,可以通过以下步骤进行设置:

### 1. 启用多货币系统
首先,你需要在后台启用多货币系统。进入Discuz!后台,找到“全局” -> “积分设置”,在这里你可以设置多种积分类型(如金币、银币、铜币等)。

### 2. 修改发帖模板
接下来,你需要修改发帖模板,以允许用户选择不同的货币来设置附件售价。你可以通过以下步骤来实现:

- 打开模板文件 `template/default/forum/post_attach.htm`。
- 找到附件售价相关的代码部分,通常是一个下拉菜单或输入框。
- 修改代码,添加一个下拉菜单,允许用户选择不同的货币类型。

例如,你可以在模板中添加如下代码:

<select name="attachprice_type">
    <option value="extcredits1">金币</option>
    <option value="extcredits2">银币</option>
    <option value="extcredits3">铜币</option>
</select>
<input type="text" name="attachprice" value="0" />

### 3. 修改发帖处理逻辑
在发帖处理逻辑中,你需要修改代码以支持多货币售价。通常需要修改 `source/module/forum/forum_post.php` 文件。

- 找到处理附件售价的部分代码。
- 修改代码,使其能够根据用户选择的货币类型来设置附件的售价。

例如:

$attachprice_type = $_POST['attachprice_type'];
$attachprice = intval($_POST['attachprice']);

if ($attachprice > 0) {
    // 根据选择的货币类型设置附件售价
    $attach['price'] = $attachprice;
    $attach['price_type'] = $attachprice_type;
}

### 4. 修改附件显示逻辑
最后,你还需要修改附件显示逻辑,以便在前台正确显示附件的售价和货币类型。通常需要修改 `template/default/forum/viewthread.htm` 文件。

- 找到显示附件售价的部分代码。
- 修改代码,使其能够根据附件的货币类型来显示售价。

例如:

<!--{if $attach['price'] > 0}-->
    <span class="attachprice">售价: {$attach['price']} {$_G['setting']['extcredits'][$attach['price_type']]['title']}</span>
<!--{/if}-->

### 5. 测试
完成上述修改后,你可以在前台发帖并测试附件售价功能,确保用户可以选择不同的货币类型来设置附件售价。

### 注意事项
- 在修改代码之前,建议备份相关文件,以防出现问题。
- 如果你不熟悉Discuz!的代码结构,建议在开发环境中进行测试,避免影响线上站点。

通过以上步骤,你可以实现发帖时附件售价的多货币选择功能。如果你有更多问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 发帖附件售价 New