Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Menüpunkt nur für bestimmte Gruppen anzeigen
#1
Hi, ich komm einfach nicht weiter.
Ich weiß wie man neue Seiten erstellt und wie man die Seite unaufrufbar für bestimmte Gruppen macht, aber wie blendet man bereits den Menüpunkt aus?

Ich hab versucht im header template (ist ja html) durch einfügen von php auszublenden, aber es kann den befehl nicht so verarbeiten wie direkt in einer php-datei.

Der Befehl:
Code:
if($mybb->usergroup['gid'] != 1 and $mybb->usergroup['gid'] != 2 and $mybb->usergroup['gid'] != 7)
{ .............}

lg
#2
Du kannst in der global.php eine entsprechende Abfrage einsetzen, bevor das Template header aufgerufen wird. Innerhalb der if-Abfrage kannst Du eine Variable für den Link festlegen und HTML nutzen. Diese Variable setzt Du dann im Template header an entsprechender Stelle ein.
viele Grüße
Jockl
übersetzte und eigene Plugins
#3
Danke für deine Antwort, das mit der Variable versteh ich grad nicht ganz, wie du das meinst.

lg
#4
Beispiel:
PHP-Code:
if($mybb->usergroup['gid'] != "1")
{
   
$Dein_Link "<li>hier kommt der <a href=\"URL\">HTML-Code</a> für den Link rein</li>";
}

eval(
"\$header = \"".$templates->get("header")."\";"); 
Dann setze $Dein_Link in das Template header in den Menübereich ein.
viele Grüße
Jockl
übersetzte und eigene Plugins
#5
Hi,
ich mag einen Menüpunkt für die Usergruppen 4 und 7 freigeben, außerdem soll man den Menüpunkt auch sehen, wenn man eine der beiden Gruppen nur als zusätzöiche Gruppe hat.
Wie ist das möglich? Mit einer

PHP-Code:
if($mybb->usergroup['gid'] == "4")

Sehe ich bspw. gar nichts, obwohl ich Gruppe 4 als Standart habe.
#6
Deine IF-Abfrage müsste dann wie folgt lauten:
PHP-Code:
if($mybb->user['usergroup'] == "4" || $mybb->user['usergroup'] == "7"

Wobei in dem Falle nur die primäre Gruppe geprüft würde.
#7
Und sekundäre Gruppen, wäre es aufwändig?
#8
Dafür gibt es verschiedene Funktionen. Falls du die PluginLibrary bei dir installiert hast, könntest du deren "is_member" Funktion nutzen. Ansonsten folgende einfügen (am besten in die "inc/functions.php"):
PHP-Code:
function user_in_group($user$allowedgroups)
{
    
$allowedgroups explode(","$allowedgroups);
    
$groups explode(','$user['additionalgroups']);
    if(
is_array($groups))
        
array_push($groups$user['usergroup']);
    else
        
$groups = array($user['usergroup']);

    
$in false;
    foreach (
$groups as $group) {
        if(
in_array($group$allowedgroups)) {
           
$in true;
        }
    }
    return 
$in;


Die Nutzung davon sähe dann wie folgt aus:
PHP-Code:
if(user_in_group($mybb->user"4,7")) 

Das ganze ist aber sicherlich noch verbesserungswürdig Wink
#9
Danke, hat alles funktioniert!


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Forum nur für bestimmte Gruppe RMB Hans 4 1.946 03.08.2014, 15:41
Letzter Beitrag: RMB Hans
  Admin-CP(?) bestimmte Gruppen auf der Mitgliederliste ausschließen exxe 15 3.849 04.05.2014, 18:50
Letzter Beitrag: exxe
  Forumbereich nur für bestimmte Member nutzbar machen? nubi 5 1.800 06.11.2013, 21:01
Letzter Beitrag: StefanT
  bestimmte Kategorie nur für Co. Moderator/in einstellen! Licht 6 2.078 23.05.2013, 13:15
Letzter Beitrag: Licht
  Menüpunkt nur für bestimmte Gruppe aufrufbar me.lina 6 2.277 07.10.2012, 18:32
Letzter Beitrag: me.lina