ユーザーがJoomlaにログインしているかどうかに応じて、プラグインで別のコードを実行するにはどうすればよいですか?基本的に私はこれをやりたいです:
<?php
if (loggedin) {
// Do something
}
else {
// Do something else
}
?>
私は通常次のようなことをします:
<?php
$user = JFactory::getUser();
if ($user->guest) {
// User is not logged in
} else {
//User is logged in
}
?>
Joomla Documentation を見てください。
あなたはこれを使うことができます:
$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
}
速度に関しては、面倒なことはパフォーマンスの点でナノ秒と同じです。
さまざまなコンテンツを条件付きで表示する直接的なプログラムメソッド(JFactory :: getUser()-> guest)の他に、Guest groupを作成して識別する方法があります。この特定のユーザーのセット。このようにして、コンテンツは通常の管理ツールを使用してCMSレベルで、またはアクセス制御リストコントロールを備えたプラグインで管理できます。
ログインしたユーザーから何かをどのように非表示にしますか?http://docs.joomla.org/How_do_you_hide_something_from_logged_in_users%3F
ユーザーがGuestグループに属しているかどうかを確認する関連ルーチン:
$user = JFactory::getUser();
$groups = JAccess::getGroupsByUser(user->id, false);
if (in_array(MY_GUEST_GROUP, $groups))
{
echo 'Only visible for guests';
}