web-dev-qa-db-ja.com

ゲストとメンバーを区別するにはどうすればよいですか?

ユーザーがJoomlaにログインしているかどうかに応じて、プラグインで別のコードを実行するにはどうすればよいですか?基本的に私はこれをやりたいです:

<?php
if (loggedin) {
   // Do something 
}
else {
   // Do something else 
}
?>
3
Bogowoe

私は通常次のようなことをします:

<?php
$user = JFactory::getUser();
if ($user->guest) {
    // User is not logged in
        } else {      
    //User is logged in
        }
?>

Joomla Documentation を見てください。

5
johanpw

あなたはこれを使うことができます:

$user = JFactory::getUser();
if($user->id != 0)
{
    // you are a member
}
else 
{
    // you are a guest
}

またはこれ:

$user = JFactory::getUser();
if($user->guest)
{
    // you are a guest
}
else 
{
    // you are a member
}

速度に関しては、面倒なことはパフォーマンスの点でナノ秒と同じです。

5
Lodder

さまざまなコンテンツを条件付きで表示する直接的なプログラムメソッド(JFactory :: getUser()-> guest)の他に、Guest groupを作成して識別する方法があります。この特定のユーザーのセット。このようにして、コンテンツは通常の管理ツールを使用してCMSレベルで、またはアクセス制御リストコントロールを備えたプラグインで管理できます。

ログインしたユーザーから何かをどのように非表示にしますか?http://docs.joomla.org/How_do_you_hide_something_from_logged_in_users%3F

enter image description here

ユーザーがGuestグループに属しているかどうかを確認する関連ルーチン:

$user = JFactory::getUser();
$groups = JAccess::getGroupsByUser(user->id, false);
if (in_array(MY_GUEST_GROUP, $groups))
{
   echo 'Only visible for guests';
}
4
Anibal