如何让用户先登陆再看到 版块无权限访问时的提示信息
已经升级到了最新版本您当前系统环境适合当前版本的 Discuz! X3.4 R20220811 GBK。
下图是我设置好的 无权限访问时的提示信息:
我升级到Discuz! X3.4 R20220811 GBK。版本前的逻辑是未登录用户点击某帖子链接后 会先跳转到登陆页让登陆如果用户是无权限的 才会再给弹出一个无权限访问提示信息
我知道答案 回答被采纳将会获得5 金币 + 1 金币 已有1人回答 升级后就变成了无论用户登陆与否,都会直接跳到 无权限访问的提示信息这里 要实现用户先登录再看到版块无权限访问时的提示信息,你可以通过以下步骤来实现:
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]