2010-08-18 3 views
2

У меня есть сайт на сайте what-i.com, который использует профиль Drupal Commons. Я создал пользовательскую тему под названием «whati» и поместил ее в папку/sites/all/themes. Моя страница-front.tpl.php должна управлять моей главной страницей.Как создать настраиваемую переадресацию на главную страницу для анонимного пользователя?

У него есть инструкции if-else для 2 сценариев: вошедшие в систему и не зарегистрированные пользователи. Для зарегистрированных пользователей все отлично работает: при входе в систему пользователь видит мою пользовательскую первую страницу. Для не зарегистрированных (анонимных) пользователей он всегда перенаправляет их на http://what-i.com/user?destination=home. Я не знаю, как переопределить это перенаправление: он не подбирает выражение if на моей странице-front.tpl.php, я пробовал использовать модуль frontpage без успеха, и я также попытался изменить параметры главной страницы в Информация о сайте безрезультатно.

Может ли кто-нибудь помочь мне решить эту проблему: то есть вместо того, чтобы перенаправляться на пользователя? Destination = home, я хочу, чтобы мои анонимные пользователи увидели пользовательскую страницу, созданную мной.

ответ

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

+0

Извините, заверните весь этот оператор с if ($ is_front) {// code}. Это должно исправить это. Обновлен мой ответ. – Kevin

+0

Этот код можно упростить с помощью функции drupal_is_front_page(): http://api.drupal.org/api/function/drupal_is_front_page/6 – jhedstrom

Смежные вопросы