我有以下代码,用于检测用户是否是某个 Joomla 用户组的成员并向用户显示相关链接。
这对于 1 个用户组非常有用,但是当用户是 1 个以上用户组的成员时,按钮会根据该用户所属的用户组数量重复。
因此,例如,如果用户是 4 个用户组的成员,则该按钮将显示 4 次(如果用户是该用户组的成员,例如“Usergroup001”,则显示的 4 个按钮中的 1 个将是“开始” ' 按钮(按照循环))。
我希望按钮只显示一次,无论用户属于多少个用户组。
<?php
$user_ = JFactory::getUser();
$db = JFactory::getDBO();
foreach($user_->groups as $group){
$query = 'SELECT title FROM #__usergroups';
$query .= ' WHERE id = ' . $group;
$db->setQuery( $query );
$grp = $db->loadResult();
if ($grp=='Usergroup001') : ?>
<a href="/start">Start</a>
<?php else : ?>
<a href="/sign-up">Sign up to Usergroup 001</a>
<?php endif; ?>
<?php
}
?>
如果有人可以提供帮助,非常感谢!
最佳答案
也许这会起作用:
<?php
$user_ = JFactory::getUser();
$db = JFactory::getDBO();
$isMember = false;
foreach($user_->groups as $group){
$query = 'SELECT title FROM #__usergroups';
$query .= ' WHERE id = ' . $group;
$db->setQuery( $query );
$grp = $db->loadResult();
if ($grp=='Usergroup001') {
$isMember = true;
break;
}
}
if ($isMember ) : ?>
<a href="/start">Start</a>
<?php else : ?>
<a href="/sign-up">Sign up to Usergroup 001</a>
<?php endif; ?>
关于php - 用于检测用户是否是特定用户组成员的自定义代码的小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41759062/