2010-08-18 32 views
2

我在使用Drupal Commons配置文件的what-i.com上有一個網站。我創建了一個名爲「whati」的自定義主題,並將其放在/ sites/all/themes文件夾中。我的page-front.tpl.php應該是驅動我的首頁。如何爲匿名用戶創建自定義首頁重定向?

它有2個場景的if-else語句:已登錄和未登錄的用戶。對於登錄用戶,一切都很好:登錄後,用戶可以看到我的自定義首頁。對於未記錄(匿名)的用戶,它總是將它們轉發到http://what-i.com/user?destination=home。我不知道如何重寫該重定向:它不會在我的page-front.tpl.php中的if語句中找到,我嘗試使用FrontPage模塊而沒有成功,並且我還嘗試更改下面的首頁設置網站信息無濟於事。

任何人可以幫助我解決這個問題:那就是,而不是被重定向到用戶的目的地=回家,我想我的匿名用戶看到我創建了一個自定義的頭版。

回答

2

您可以從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'); 
    } 
} 
+1

凱文,當我想你的解決方案,並放置代碼在page.tpl.php中文件的頂部,我的頁面進入無限重定向循環。這怎麼解決?謝謝。 – user424370 2010-08-19 17:02:33

+0

對不起,用if($ is_front){// code}包裝整個語句。這應該解決這個問題。更新了我的答案。 – Kevin 2010-08-19 19:13:55

+0

使用drupal_is_front_page()函數可以簡化此代碼:http://api.drupal.org/api/function/drupal_is_front_page/6 – jhedstrom 2010-08-19 21:56:48