discuz 搭建一个内部论坛,不对外开放,所以需要登录之后,才能看到论坛的内容,不登陆之前,打开的只是一个登录页面.
测试的版本是discuz x2.5,个人的一点小经验,有不妥之处,欢迎吐槽、交流.
第一步:打开forum.php文件,在如下代码:
- if(C::app()->var['mod'] == 'group') {
- $_G['basescript'] = 'group';
- }
后面添加一段代码(检测用户是否登录,没有登录跳转到登录页面)
- if(emptyempty($_G['uid'])){
- echo "<script>window.location.href='./member.php?mod=logging&action=login';</script>";
- }
第二步,就是修改对应的登陆模板,删除掉登陆模板里面的有关论坛内容的信息
主要的登陆页面是/template/default/member/login.htm,页面里面没有其他关于论坛的信息,保持原样不动就可以了;但是/template/default/common/header.htm头部文件包含 论坛导航和论坛搜索,所以必须屏蔽掉;
在header.htm的同一个根目录下新建一个header_login.htm的文件,把header.htm里面的代码都复制到header_login.htm里面;在header_login.htm文件里,删除<div id="nv">**</div>代码,然后再删除<!--{subtemplate common/pubsearchform}-->代码;最后一步把/template/default/member/login.htm里面,最顶上的一行代码<!--{template common/header}-->,修改为<!--{template common/header_login}-->;
最终效果:
新闻热点
疑难解答