解决Discuz“完善用户资料”任务不能完成的问题

最近用 Discuz X3.2 搭建了个论坛,在测试过程中发现“完善用户资料”这个官方自带的任务有个Bug,将所有的资料都填写完成后,任务仍然无法完成,而且没有明确提示有哪些项目没有填写。

到官方论坛去寻求解决方案,没有找到一个明确的答复,很多人遇到这样的问题,或者标明了已解决却没有提供解决方案,结合度娘给出的一些知识,最终自己摸索出了两种方法。

方案一:

“后台→用户→用户栏目→栏目列表”中将真实姓名选中,并选中在资料页中显示;

“后台→用户→用户栏目→栏目分组”中将真实姓名选中,使用户可以填写。

方案二:

\source\class\task\task_profile.php 路径中将第43及44行

$fields = array('realname', 'gender', 'birthyear', 'birthmonth', 'birthday', 'bloodtype', 'affectivestatus', 'birthprovince','birthcity', 'resideprovince', 'residecity'); 

去掉真实姓名,更改为:

$fields = array('gender', 'birthyear', 'birthmonth', 'birthday', 'bloodtype', 'affectivestatus', 'birthprovince','birthcity', 'resideprovince', 'residecity');

任务完成,点击“领取奖励”即可。

说明:Discuz官方默认将真实姓名、性别、情感状况等信息作为基本资料,但是很多情况下是不需要都填写的,因此有的站长将其隐藏,造成用户无法填写,因而无法完成任务。

方案一是开启所对应的项目供用户填写,满足任务完成条件即可完成任务。

方案二是修改任务文件,使其只检测站长所需要用户填写的资料,满足条件便完成任务。

方案一的好处是直接在后台便可以完成,不用修改源文件,风险小。

方案二可以根据站长的要求自定义需要填写的项目,每个字段的名称可以通过查看用户栏目页面对应每个条目的 name 属性获得。相信对于站长而言,查看源码应该没有什么问题的吧。

个人觉得方案二更彻底有效。

posted @   幻月无名  阅读(1019)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示