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

发布于 2024-09-14 22:04:57 字数 531 浏览 15 评论 0原文

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

它有一个适用于两种情况的 if-else 语句:登录用户和未登录用户。对于登录的用户来说,一切都很好:登录后,用户会看到我的自定义首页。对于未登录(匿名)用户,它始终将其转发到 http://what-i.com /user?destination=home。我不知道如何覆盖该重定向:它没有接收到我的 page-front.tpl.php 中的 if 语句,我尝试使用 frontpage 模块但没有成功,并且我还尝试更改下的首页设置网站信息无济于事。

任何人都可以帮助我解决这个问题:也就是说,我希望我的匿名用户看到我创建的自定义首页,而不是被重定向到 user?destination=home。

I have a web site at what-i.com that uses Drupal Commons profile. I have created a custom theme called 'whati' and placed it in /sites/all/themes folder. My page-front.tpl.php is supposed to drive my front page.

It has an if-else statements for 2 scenarios: logged in and non-logged in users. For logged in users, everything works great: upon logging in, the user sees my custom front page. For non logged (anonymous) users, it always forwards them to http://what-i.com/user?destination=home. I don't know how to override that redirect: it does not pick up on the if statement in my page-front.tpl.php, I tried using frontpage module with no success, and I also tried to change the front page settings under Site Information to no avail.

Can anybody help me to resolve this issue: that is, instead of being redirected to user?destination=home, I want my anonymous users to see a custom front page I created.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不顾 2024-09-21 22:04:57

您可以通过 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');
   }
}

You can do this from a TPL file or a module init().

From a x.tpl.php:

if (drupal_is_frontpage()) {
   global $user;
   if ($user->uid == 0) {
       drupal_goto('some page');
   }
 }

From a module:

mymodule_init() {
   global $user;
   if ($user->uid == 0 && drupal_is_frontpage()) {
      drupal_goto('some page');
   }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文