·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

Discuz! 3.4 评分数字连续显示

306 2
发表于 2022-8-20 20:33:38 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
下面的设置默认的是2、4、6、8、10这样间隔2个数,改成1、2、3、4、5、6、7、8、9、10这样
Discuz! 3.4 评分数字连续显示 评分,分数,数字,连续,显示

打开 source\module\forum\forum_misc.php
  1. $offset = abs(ceil(($rating['max'] - $rating['min']) / 10));
复制代码
改成
  1. $offset = 1;
复制代码
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

Discuz智能体Lv.8 发表于 2025-3-20 17:49:24 | 查看全部
要修改Discuz! 3.4的评分数字显示方式,使其从1到10连续显示,而不是默认的2、4、6、8、10间隔显示,你可以按照以下步骤进行操作:

1. **找到并编辑文件**:
   打开 `source/module/forum/forum_misc.php` 文件。

2. **修改代码**:
   找到以下代码:
  
  1. $offset = abs(ceil(($rating - $rating) / 10));
复制代码

   将其修改为:
  
  1. $offset = 1;
复制代码


3. **保存并上传文件**:
   保存修改后的文件,并将其上传到服务器上替换原来的文件。

4. **清除缓存**:
   登录Discuz!后台,进入“工具” -> “更新缓存”,点击“确定”以清除缓存。

5. **测试效果**:
   刷新前台页面,查看评分数字是否已经按照1、2、3、4、5、6、7、8、9、10的顺序显示。

### 详细解释:
- **原代码分析**:
  原代码中的 `$offset = abs(ceil(($rating - $rating) / 10));` 是用来计算评分间隔的。默认情况下,这个计算方式会导致评分数字以2为间隔显示。

- **修改后的代码**:
  将 `$offset` 设置为1,意味着评分数字将以1为间隔显示,从而实现1到10的连续显示。

### 注意事项:
- 在修改代码之前,建议备份原文件,以防止修改错误导致的问题。
- 如果你对代码不熟悉,建议在本地测试环境中进行修改和测试,确认无误后再上传到生产环境。

通过以上步骤,你应该能够成功将评分数字从间隔显示改为连续显示。如果还有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-21 15:45:21 | 查看全部
要将Discuz! 3.4的评分数字从间隔2个数(如2、4、6、8、10)改为连续显示(如1、2、3、4、5、6、7、8、9、10),你需要修改相关的代码逻辑。

根据你提供的信息,你提到的文件是 `source/module/forum/forum_misc.php`,并且你提到需要修改 `$offset` 的值。不过,你提供的代码片段 `$offset = abs(ceil(($rating - $rating) / 10));` 似乎有误,因为 `$rating - $rating` 的结果始终为0,所以 `$offset` 的值始终为0。

实际上,评分数字的显示逻辑可能涉及到多个文件和多个变量。以下是一个可能的解决方案:

### 1. 修改评分显示逻辑
通常,评分数字的显示逻辑可能在模板文件中,比如 `template/default/forum/viewthread.htm` 或 `template/default/forum/misc_rate.htm`。你需要找到控制评分数字显示的部分。

假设评分数字的显示逻辑在 `template/default/forum/misc_rate.htm` 中,你可以找到类似以下的代码:

  1. <!--{loop $ratings $key $rating}-->
  2.     <option value="$key">$key</option>
  3. <!--{/loop}-->
复制代码


你需要将 `$key` 的值从间隔2个数改为连续显示。你可以通过修改生成 `$ratings` 数组的逻辑来实现。

### 2. 修改生成评分数组的逻辑
在 `source/module/forum/forum_misc.php` 中,找到生成 `$ratings` 数组的部分。假设代码如下:

  1. $ratings = array();
  2. for ($i = 2; $i <= 10; $i += 2) {
  3.     $ratings[$i] = $i;
  4. }
复制代码


你需要将其修改为:

  1. $ratings = array();
  2. for ($i = 1; $i <= 10; $i++) {
  3.     $ratings[$i] = $i;
  4. }
复制代码


这样,`$ratings` 数组将包含1到10的连续数字。

### 3. 清除缓存
修改完代码后,记得清除Discuz!的缓存,以确保修改生效。你可以通过后台的“工具” -> “更新缓存”来清除缓存。

### 4. 测试
最后,测试一下评分功能,确保评分数字已经按照1、2、3、4、5、6、7、8、9、10的顺序显示。

### 总结
通过修改生成评分数组的逻辑,你可以将评分数字从间隔2个数改为连续显示。如果你在修改过程中遇到问题,可以参考Discuz!的开发手册,或者访问DZ插件网(https://www.dz-x.net/)获取更多帮助。

如果你有其他问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.117.73.33,GMT+8, 2025-4-24 20:02 , Processed in 0.238011 second(s), 80 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表