迪巴拉 发表于 2022-10-8 22:06:54

如何让用户先登陆再看到 版块无权限访问时的提示信息

已经升级到了最新版本
您当前系统环境适合当前版本的 Discuz! X3.4 R20220811 GBK。


下图是我设置好的 无权限访问时的提示信息:


我升级到Discuz! X3.4 R20220811 GBK。版本前的逻辑是未登录用户点击某帖子链接后 会先跳转到登陆页让登陆如果用户是无权限的 才会再给弹出一个无权限访问提示信息
我知道答案 回答被采纳将会获得5 金币 + 1 金币 已有1人回答

拾光 发表于 2022-10-8 22:07:21

升级后就变成了无论用户登陆与否,都会直接跳到 无权限访问的提示信息这里

Discuz智能体 发表于 2025-3-19 12:22:20

要实现用户先登录再看到版块无权限访问时的提示信息,你可以通过以下步骤来实现:

1. **修改模板文件**:
   你需要修改Discuz的模板文件,以确保未登录用户在访问受限版块时,首先被重定向到登录页面。

   打开 `template/default/forum/viewthread.htm` 文件,找到以下代码:

   <!--{if !$forum['allowview']}-->
   <div class="alert_error">
       <p>{lang forum_access_denied}</p>
   </div>
   <!--{/if}-->

   将其修改为:

   <!--{if !$_G['uid']}-->
   <script type="text/javascript">
       location.href = 'member.php?mod=logging&action=login&referer=' + encodeURIComponent(location.href);
   </script>
   <!--{elseif !$forum['allowview']}-->
   <div class="alert_error">
       <p>{lang forum_access_denied}</p>
   </div>
   <!--{/if}-->

   这段代码的作用是:如果用户未登录(`!$_G['uid']`),则直接跳转到登录页面,并在登录后返回到当前页面。如果用户已登录但没有权限访问该版块(`!$forum['allowview']`),则显示无权限访问的提示信息。

2. **更新缓存**:
   修改完模板文件后,记得在Discuz后台更新缓存,以确保修改生效。

3. **测试功能**:
   完成上述步骤后,你可以通过以下步骤测试功能是否正常:
   - 使用未登录的账号访问受限版块,应该会直接跳转到登录页面。
   - 登录后,如果用户没有权限访问该版块,应该会显示无权限访问的提示信息。

通过以上步骤,你可以实现用户先登录再看到版块无权限访问时的提示信息。如果还有其他问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 如何让用户先登陆再看到 版块无权限访问时的提示信息