Пряме вихідне посилання


14

Я знаю, що можу відобразити форму для входу / виходу за таким посиланням:

http://example.com/index.php?option=com_users&view=login

Але після входу в систему це посилання перенаправить користувача на сторінку із кнопкою виходу, яку потрібно натиснути.

Чи можливо створити посилання, яке безпосередньо вийде з поточного користувача?

Відповіді:


24

Наступне посилання призначене для прямого виходу:

http://example.com/index.php?option=com_users&task=user.logout

Але для того, щоб уникнути повідомлення про помилку Invalid Token, потрібен маркер користувача, а для отримання маркера потрібна якась магія PHP. У наведеному нижче коді відображатиметься Loginпосилання на гостей та пряме Logout Usernameпосилання на зареєстрованих користувачів:

$user = JFactory::getUser();
if ($user->guest)
{
    echo '<a href="index.php?option=com_users&view=login">Login</a>';
}
else
{
    $userToken = JSession::getFormToken();
    echo '<a href="index.php?option=com_users&task=user.logout&' . $userToken . '=1">Logout '  . $user->username . '</a>.';
}

Код можна включити в будь-яке розширення або використовувати плагін / модуль, що дозволяє вставляти PHP-код безпосередньо (наприклад, DirectPHP , користувацький HTML Advanced , Sourcerer або подібне).


1
Ха-ха, занадто очевидно ...? Вибач за це. Щоправда, я вважаю фрагмент коду досить корисним і постійно користуюсь ним на веб-сайтах клієнтів, щоб у нижньому колонтитулі було невелике, не нав'язливе посилання для входу. Я просто не був впевнений, що запитати, щоб опублікувати код.
johanpw

+1 Надзвичайно корисно! Як можна зробити переспрямування на певну сторінку після неї? Чи є деякі, &additional_parameterякі можна використовувати для дозволу переадресації після виходу?
Грубер

Гей, дякую за це! Чи можете ви надати якусь документацію, де це пояснено трохи детальніше? Дякую!
Грубер


6

Як остаточну відповідь, Joomla має вбудований пункт меню "Вихід", доданий до основної. Я думаю, що близько 3,4 *, можливо, 3,5. Тому зараз вам не потрібні додаткові плагіни.

Пункт меню виходу також дозволяє переадресувати під час виходу.

Крім того, якщо ви встановите для пункту меню Вхід "Гостьовий", а для пункту меню "Вихід" - "Зареєстрований", меню змінюється залежно від вашого статусу.

Детальна відповідь SE тут: Змінити Вхід на Вихід


Це, мабуть, найкращий підхід для веб-сайтів, що використовують сучасну версію Joomla, оскільки вона використовує лише основні функції Joomla. Якщо вам дійсно потрібно створити програмне посилання для виходу, проте "прийнята відповідь" є хорошим рішенням.
feculededentier

4

В якості третього варіанту є компонент швидкого виходу, який додає пункт меню прямого виходу в Joomla і здійснюватиме реєстрацію користувачів без підтвердження.

Він також надає можливість встановити перенаправлення на потрібну сторінку після виходу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.