Php 如何为匿名用户创建自定义首页重定向?
我在what-I.com上有一个使用Drupal Commons配置文件的网站。我创建了一个名为“whati”的自定义主题,并将其放置在/sites/all/themes文件夹中。我的page-front.tpl.php应该驱动我的首页 它有两个场景的if-else语句:已登录用户和未登录用户。对于登录的用户,一切都很好:登录后,用户会看到我的自定义首页。对于未登录(匿名)用户,它总是将其转发给。我不知道如何覆盖该重定向:它不会在我的page-front.tpl.php中的if语句中出现,我尝试使用frontpage模块但没有成功,我还尝试在“站点信息”下更改首页设置,但没有成功Php 如何为匿名用户创建自定义首页重定向?,php,drupal,anonymous,frontpage,drupal-commons,Php,Drupal,Anonymous,Frontpage,Drupal Commons,我在what-I.com上有一个使用Drupal Commons配置文件的网站。我创建了一个名为“whati”的自定义主题,并将其放置在/sites/all/themes文件夹中。我的page-front.tpl.php应该驱动我的首页 它有两个场景的if-else语句:已登录用户和未登录用户。对于登录的用户,一切都很好:登录后,用户会看到我的自定义首页。对于未登录(匿名)用户,它总是将其转发给。我不知道如何覆盖该重定向:它不会在我的page-front.tpl.php中的if语句中出现,我尝试
有人能帮我解决这个问题吗:也就是说,不要重定向到user?destination=home,我希望我的匿名用户看到我创建的自定义首页 您可以从TPL文件或模块init()执行此操作 从一个x.tpl.php文件:
if (drupal_is_frontpage()) {
global $user;
if ($user->uid == 0) {
drupal_goto('some page');
}
}
从模块中:
mymodule_init() {
global $user;
if ($user->uid == 0 && drupal_is_frontpage()) {
drupal_goto('some page');
}
}
Kevin,当我尝试您的解决方案并将代码放在page.tpl.php文件的顶部时,我的页面进入无限重定向循环。这怎么能解决呢?谢谢。对不起,请用if($is_front){//code}将整个语句包装起来。这应该可以解决这个问题。更新了我的答案。使用drupal_is_front_page()函数可以简化此代码: