Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为匿名用户创建自定义首页重定向?_Php_Drupal_Anonymous_Frontpage_Drupal Commons - Fatal编程技术网

Php 如何为匿名用户创建自定义首页重定向?

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语句中出现,我尝试

我在what-I.com上有一个使用Drupal Commons配置文件的网站。我创建了一个名为“whati”的自定义主题,并将其放置在/sites/all/themes文件夹中。我的page-front.tpl.php应该驱动我的首页

它有两个场景的if-else语句:已登录用户和未登录用户。对于登录的用户,一切都很好:登录后,用户会看到我的自定义首页。对于未登录(匿名)用户,它总是将其转发给。我不知道如何覆盖该重定向:它不会在我的page-front.tpl.php中的if语句中出现,我尝试使用frontpage模块但没有成功,我还尝试在“站点信息”下更改首页设置,但没有成功


有人能帮我解决这个问题吗:也就是说,不要重定向到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()函数可以简化此代码: