Как показать кнопку выхода, если пользователь вошел в Drupal? - PullRequest
3 голосов
/ 02 февраля 2011

Мне нужно показать кнопку выхода на моем сайте, если пользователь вошел в систему, и кнопку входа, если пользователь не вошел в систему. Как я могу это сделать?

Ответы [ 5 ]

4 голосов
/ 10 октября 2011

более простой метод. Сделайте два пункта в меню.

http://drupal.org/node/264225#comment-863102

4 голосов
/ 02 февраля 2011
2 голосов
/ 05 октября 2013

Поскольку Drupal является приложением CMS, его можно настроить администратором из раздела «Stucture» -> «Blocks». Там вы можете найти блок «Меню пользователя». Это ответственно за отображение полей выхода. Поэтому обязательно включите его и перетащите в видимую область текущей темы. С другой стороны, чтобы иметь возможность выхода непосредственно из URL-адреса, сначала обязательно очистите кеш браузера. В конце концов перезапустите Apache ($ sudo /etc/init.d/apache2 restart) а затем введите http://yourdomain/?=logout. Должен сделать трюк.

2 голосов
/ 02 февраля 2011
<?php
global $user;


if ($user->uid) 
{
Welcome:
print l($user->name,'user/'.$user->uid);
print l("logout","logout");//this is logout link
}
else 
{
//show him login form
}
?>
1 голос
/ 23 сентября 2011

Довольно просто, на самом деле.Это заняло у меня некоторое время, но я понял:

  • Я использую модуль «Права доступа к таксономии» для предоставления или запрета доступа к моим узлам в зависимости от роли пользователя.
  • После установкисделать таксономию с терминами «вошел в систему» ​​и «вышел из системы», и сделать эту таксономию доступной для типа узла «страница».
  • Администрирование модуля TAP, настройка разрешений для анонимного пользователя: вошел в систему> deny deny deny,и вышли из системы> разрешить отрицать отрицать.Таким же образом, установите разрешения для аутентифицированного пользователя: вошли в систему> разрешить запретить отказать и вышли из системы> запретить запретить отказать.Результат: если я добавлю страницу и установлю таксономию «вход в систему», только аутентифицированные пользователи увидят страницу.Если я установлю для него «logged out», только анонимные пользователи будут видеть страницу.
  • создать страницу с путем 'log_in', добавить в качестве содержимого php-код, который перенаправляет пользователя на путь 'user' и установить таксономиючтобы выйти из системы.Когда я не вошел в систему, я могу получить доступ к узлу и будет перенаправлен на страницу входа.Когда я уже вошел в систему, я не смогу получить доступ к узлу.
  • сделать страницу с путем 'log_out' и как php-код содержимого, который перенаправляет пользователя на путь 'logout' и устанавливает таксономиючтобы "вошел в систему".Когда я не вошел в систему, я не смогу получить доступ к узлу.Когда я уже вошел в систему, я могу получить доступ к узлу и выйду из системы.
  • в вашем меню добавьте два новых пункта: один с именем 'LOGIN' с путем 'log_in' и один с именем 'LOGOUT'с путем 'log_out'.
  • Готово!Люди, не вошедшие в систему, увидят пункт меню «LOGIN», но не «LOGOUT», потому что доступ к этому узлу запрещен.Люди, вошедшие в систему, увидят элемент «ВЫХОД», но не «ВХОД», потому что доступ к этому узлу запрещен.
...