Seite 1 von 1

Nur für bestimmte Gruppen anzeigen (Mehrere gruppen)

Verfasst: 31.05.2007 20:05
von Domitz
Hallo, und zwar möchte ich folgendes Snippet: http://www.phpbb.de/viewtopic.php?t=65401 für mehrere gruppen verwenden.

Dort steht, man muss die gruppen hintereinanderschreiben (mit ,?!) habe schon einige Kombinationen ausprobiert, aber es will nicht so richtig :(

Würde mich über Hilfe freuen :)

Quasi muss man ja nur folgendes bearbeiten:

Code: Alles auswählen

if ( member_of('123', $userdata) )
        {
                $template->assign_block_vars('switch_usergroup_123', array());
        }
Meine Versuche:

Code: Alles auswählen

if ( member_of('123','124', $userdata) )
        {
                $template->assign_block_vars('switch_usergroup_123','switch_usergroup_124', array());
        }

Code: Alles auswählen

if ( member_of('123,124', $userdata) )
        {
                $template->assign_block_vars('switch_usergroup_123,124', array());
        }

Verfasst: 02.06.2007 00:14
von cbrkiter
Probiere es mal mit

Code: Alles auswählen

if ( member_of('123, 124, 125', $userdata) )
        {
                $template->assign_block_vars('switch_usergroup_123', array());
        }
Der Schalter für deine template-Datei muss nicht ergänzt werden, da es ein Schalter für mehrere Benutzergruppen gleichzeitig ist. Du müsstest also nur die Gruppen-Ids zwischen den Hochkommas ergänzen.

Verfasst: 02.06.2007 14:16
von Domitz
Hi, habe es ausprobiert, nur das problem ist, dass jetzt beide gruppen den text ein/ausgeblendet bekommen...
Ich möchte gerne zwei getrennte Gruppen haben, also dass gruppe 1 z.b. Hallo angezeigt bekommt, gruppe 2 Ahoi und alle, die nicht in den gruppen sind hi , als simples Beispiel^^

Verfasst: 02.06.2007 21:53
von cbrkiter
Dies war ja auch Sinn und Zweck des obigen Codes -> Mitglieder der aufgezählten Gruppen sehen den Templateblock und alle anderen nicht.

Wenn Du für unterschiedliche Usergroups unterschiedliches HTML einblenden möchtest, dann musst Du für jede Gruppe den Einzelteil machen:

Code: Alles auswählen

if ( member_of('123', $userdata) )
{
  $template->assign_block_vars('switch_usergroup_123', array());
}
elseif ( member_of('124', $userdata) )
{
  $template->assign_block_vars('switch_usergroup_124', array());
}
else
{
  $template->assign_block_vars('switch_usergroup_125', array());
}
Wenn Du jedoch nur eine unterschiedliche Begrüßung für die unterschiedlichen Usergroups haben möchtest, dann macht man dies eigentlich anders. Dann wird eigentlich in Abhängigkeit der Usergroup einer Variablen die entsprechende Begrüßung zugeordnet und Du übergibst lediglich die Variable an das Template. Dies hält die Template-Datei wesentlich kleiner und somit übersichtlicher.