有部分朋友可能有这样一个需求:
未登录用户访问首页时跳转到登录页面,同时不限制游客访问。已登录用户访问首页还是发现页面的内容。
wencenter程序默认有一个设置,禁止游客用户组访问访问网站。这样游客用户组访问网站首页时,就会自动跳转到登录页面。但是这样游客用户组也无法访问其他页面了。所以跟我的需求不一样。
社区里也有其他修改默认首页的教程,但不是我要的效果。于是只有自己动手了。
效果演示:
www.pmyes.com
1、找到/app/explore/main.php再63行后面加入代码:
if (!$this->user_id AND $_SERVER['REQUEST_URI']!='/explore/' AND !$_GET['category'] AND !$_GET['sort_type'])
{
HTTP::redirect('/account/login/');
}
这样游客要访问发现页面,就必须通过网址XXX.COM/explore/这个地址了。
这个是核心代码,后面的都是修改超链接。
2、修改登录页面的游客访问链接
找到模板文件:/views/default/account/login.tpl.htm 第72行,改为:
<a href="explore/">游客访问</a> •
3、修改导航发现的超链接,也加上explore。/views/default/global/header.tpl.htm
<li><a href="explore/" class="<?php if (!$_GET['app'] OR $_GET['app'] == 'explore') { ?>active<?php } ?>"><i class="icon icon-list"></i> <?php _e('发现'); ?></a></li>
改造完毕。这样的好处是游客仍然可以访问网站,但默认跳转到登录页。同时不影响其他功能。
我记得很久之前wecenter默认就是这样设置的,后来可能为了SEO,换成现在的模式了。
阅读全文
收起全文