次のリンクでログイン/ログアウトフォームを表示できることを知っています。
http://example.com/index.php?option=com_users&view=login
ただし、ログインすると、このリンクをクリックすると、ログアウトボタンをクリックする必要があるページにユーザーがリダイレクトされます。
現在のユーザーを直接ログアウトするリンクを作成することは可能ですか?
次のリンクは直接ログアウト用です。
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 、 Custom HTML Advanced ) =、 Sourcerer または類似)。
ログアウトボタンに最適なプラグインがすでにあります。
この拡張機能を確認してください ログアウトボタン
最後の答えとして、Joomlaには組み込みの「ログアウト」メニュー項目があり、コアに追加されています。したがって、追加のプラグインは必要ありません。
ログアウトメニュー項目では、ログアウト時にリダイレクトすることもできます。
また、「ログイン」メニュー項目を「ゲスト」アクセスに設定し、「ログアウト」メニュー項目を「登録済み」アクセスに設定した場合、メニューはステータスに応じて変わります。
SEの詳細な回答: ログインをログアウトに変更
3番目のオプションとして、クイックログアウトコンポーネントがあり、Joomlaに直接ログアウトメニュー項目を追加して、ユーザーをログアウトします確認なし。
また、ログアウト後に目的のページへのリダイレクトを設定するオプションも提供します。