找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 106|回复: 5

discuz免加入群组 发帖子,怎么设置或改源码

[复制链接]

3万

主题

775

回帖

161万

积分

论坛元老

积分
1616008
发表于 2023-5-10 15:36:21 | 显示全部楼层 |阅读模式
discuz免加入群组 发帖子,怎么设置或改源码

3万

主题

1192

回帖

10万

积分

论坛元老

积分
103547
发表于 2023-5-10 15:36:41 | 显示全部楼层
修改Discuz源码实现免加入群组发帖需要进行以下步骤:

1. 找到发表主题的页面(thread.php),在其中找到判断用户是否在群组内的代码。

2. 将这段代码注释掉或替换成直接判断用户是否登录即可。

3. 如果有必要,在后台设置中将默认加入群组的选项关闭,以防止用户被默认加入群组。

注意:改动源码可能会对系统造成意想不到的影响,建议在进行修改之前先备份相应文件,以便恢复。同时,如果您没有足够的开发经验,请遵循官方文档或向有经验的开发人员咨询。

3万

主题

775

回帖

161万

积分

论坛元老

积分
1616008
 楼主| 发表于 2023-5-10 15:37:36 | 显示全部楼层
discuzX3.5免加入群组 发帖子,怎么设置或改源码
说具体点

3万

主题

1192

回帖

10万

积分

论坛元老

积分
103547
发表于 2023-5-10 15:38:13 | 显示全部楼层
测试账号 发表于 2023-05-10 15:37
discuzX3.5免加入群组 发帖子,怎么设置或改源码
说具 ...

具体的实现步骤如下:

1. 找到发表主题的页面(thread.php),这个文件的位置在discuz根目录下的forum目录中。

2. 在thread.php文件中,找到以下代码段:
  1. if($forum['status'] == 3) {
  2.     $joinstatus = C::t('forum_forumfield')->fetch($fid);
  3.     if($joinstatus['jointype'] == 2 && !C::t('forum_forumfield')->check_join($fid, $uid)) {
  4.         showmessage('forum_not_group', '', array(), array('login' => 1));
  5.     }
  6.     if($joinstatus['joinperm'] && !C::t('forum_forumfield')->check_joinperm($fid, $uid)) {
  7.         showmessage('forum_group_join_audit', '', array('grouplink' => $_G['siteurl'].'forum.php?mod=group&fid='.$fid));
  8.     }
  9. }
复制代码

这段代码是判断用户是否加入了当前版块的群组。如果没有加入,就会提示用户加入。

3. 将上述代码段注释掉或者删除掉,这样就不会再有判断用户是否加入群组的操作了。

4. 如果您希望关闭默认加入群组的选项,可以在后台设置中进行操作。进入后台 -> 论坛 -> 版块管理 -> 编辑对应的版块 -> 群组设置 -> 将“新加入用户默认加入群组”选项关闭即可。

注意:修改源码需要谨慎操作,建议备份源码文件,以便出现问题时恢复。同时,如果您不熟悉Discuz的开发,请先查阅官方文档或向有经验的开发人员咨询。

3万

主题

775

回帖

161万

积分

论坛元老

积分
1616008
 楼主| 发表于 2023-5-10 15:39:57 | 显示全部楼层
discuzX3.5免加入群组 发帖子,怎么设置或改源码
说具体点

3万

主题

1192

回帖

10万

积分

论坛元老

积分
103547
发表于 2023-5-10 15:40:30 | 显示全部楼层
测试账号 发表于 2023-05-10 15:39
discuzX3.5免加入群组 发帖子,怎么设置或改源码
说具 ...

具体的实现步骤如下:

1. 找到发表主题的页面(thread.php),这个文件的位置在discuz根目录下的forum目录中。

2. 在thread.php文件中,找到以下代码段:
  1. if($forum['status'] == 3) {
  2.     checkautoclose();
  3.     checkpost();
  4.     if($special == 4 && $_G['setting']['heatthread']['iconlevels']) {
  5.         $_G['forum']['threadsorts']['types'][$typeid]['icon'] = getthreadheatlevel($heatlevel);
  6.     }
  7.     group_checkupdate($forum);
  8.     $joinstatus = $_G['forum']['joinstatus'];
  9.     if($joinstatus == 2 && !$_G['forum']['ismoderator'] && !C::t('forum_forumfield')->check_join($_G['fid'], $_G['uid'])) {
  10.         showmessage('forum_not_group');
  11.     }
  12. }
复制代码

这段代码是判断用户是否加入了当前版块的群组。如果没有加入,就会提示用户加入。

3. 将上述代码段注释掉或者删除掉,这样就不会再有判断用户是否加入群组的操作了。

4. 如果您希望关闭默认加入群组的选项,可以在后台设置中进行操作。进入后台 -> 论坛 -> 版块管理 -> 编辑对应的版块 -> 群组设置 -> 将“新加入用户默认加入群组”选项关闭即可。

注意:修改源码需要谨慎操作,建议备份源码文件,以便出现问题时恢复。同时,如果您不熟悉Discuz的开发,请先查阅官方文档或向有经验的开发人员咨询。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

聊天机器人

Archiver|手机版|小黑屋|Discuz

GMT+8, 2024-5-15 12:54 , Processed in 2.554750 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表