web-dev-qa-db-ja.com

直接ログアウトリンク

次のリンクでログイン/ログアウトフォームを表示できることを知っています。

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

ただし、ログインすると、このリンクをクリックすると、ログアウトボタンをクリックする必要があるページにユーザーがリダイレクトされます。

現在のユーザーを直接ログアウトするリンクを作成することは可能ですか?

14
johanpw

次のリンクは直接ログアウト用です。

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コードを直接挿入できるプラグイン/モジュールを使用して(例 DirectPHPCustom HTML Advanced ) =、 Sourcerer または類似)。

24
johanpw

ログアウトボタンに最適なプラグインがすでにあります。

この拡張機能を確認してください ログアウトボタン

7
Nick

最後の答えとして、Joomlaには組み込みの「ログアウト」メニュー項目があり、コアに追加されています。したがって、追加のプラグインは必要ありません。

ログアウトメニュー項目では、ログアウト時にリダイレクトすることもできます。

また、「ログイン」メニュー項目を「ゲスト」アクセスに設定し、「ログアウト」メニュー項目を「登録済み」アクセスに設定した場合、メニューはステータスに応じて変わります。

SEの詳細な回答: ログインをログアウトに変更

6
BodgeIT

3番目のオプションとして、クイックログアウトコンポーネントがあり、Joomlaに直接ログアウトメニュー項目を追加して、ユーザーをログアウトします確認なし。

また、ログアウト後に目的のページへのリダイレクトを設定するオプションも提供します。

4
FFrewin