Seite 1 von 2

Unterschiedliche*.tpl je nach Gruppenzugehörigkeit ?

Verfasst: 14.02.2007 11:13
von madmat
Hallo zusammen,

ich versuche zz eine Fallunterscheidung in die posting.php einzubauen die folgendes realisiert:

Wenn ein User der Gruppe A in einem Thread antwortet wird die posting.php mit template_a.tpl geladen , wenn User in Gruppe B dann template_b.tpl

Hat sich schonmal jemand daran versucht ? Geht das überhaupt so wie ich mir das vorstelle ?
Es klingt ja einfach, allerdings werde ich aus dem Templating des phpbb nicht so ganz schlau...
Hintergrund ist das sich das phpbb als eine Art Umfragetool nutzen möchte und jede Gruppe andere Fragen beantworten soll.

Maddin

Verfasst: 14.02.2007 15:54
von kolja
klar, das müsste gehen

einfach um die template ausgabe ein if bedingung setzen

kolja

Verfasst: 16.02.2007 13:04
von madmat
Hi kolja,

danke für den hinweis, habs inzwischen mit modify_topics und ´nem switch gelöst - eleganter als jedesmal ein komplett neues template reinzuzerren.

Verfasst: 16.02.2007 13:41
von kolja
dann zeig doch mal dein ergebnis, damit wir alle es bestaunen können :-)

Verfasst: 16.02.2007 15:49
von madmat
Ok, you asked for it...

Ich habe den Userrang missbraucht um die Leute zu klassifizieren, da es afaik keine Möglichkeit gibt Benutzergruppen zu unterteilen?

Die Extra Felder wurden mH der SUPER!! Modanleitung "modify_topics" ins phpBB implementiert.

Code: Alles auswählen

for ($i=1;$i<=$quest_count; $i++){
switch ($userdata['user_rank']){
case '2':
$template->assign_vars(array('L_Q'.$i => $lang['teacher_question'.$i]));
break;
case '3':
$template->assign_vars(array('L_Q'.$i => $lang['pupil_question'.$i]));
break;
case '4':
$template->assign_vars(array('L_Q'.$i => $lang['expert_question'.$i]));
break;
default:        message_die(GENERAL_MESSAGE, $lang['no_user_of_system']);
 }
 }
Das war´s auch schon...

Verfasst: 16.02.2007 15:53
von JohnDRockford
Hallo,

du kannst von hier die Funktion member_of() verwenden!

Code: Alles auswählen

if ( member_of('1', $userdata) ) 
{ 
$template->assign_vars(array('L_Q' => $lang['teacher_question'.$i])); 
break; 
}
else if ( member_of('2', $userdata) )
{ 
$template->assign_vars(array('L_Q' => $lang['pupil_question'.$i])); 
break;
}
else
{ 
    message_die(GENERAL_MESSAGE, $lang['no_user_of_system']); 
 } 

Verfasst: 16.02.2007 17:07
von madmat
Welchen Vorteil hätte das gegenüber Switch ? Performance ?
Hätte gedacht die "member_of" erzeugt mehr Last als meine Variante - aber stimmt schon man hätte es auch einfach mit ´ner IF Verzweigung machen können.

Fand switch einfacher zu erweitern falls noch Gruppen dazu kommen...

Verfasst: 16.02.2007 17:53
von JohnDRockford
Nur dass $userdata['user_rank'] nichts mit Gruppenzugehörigkeit zu tun hat ;-)

Verfasst: 17.02.2007 09:55
von madmat
JohnDRockford hat geschrieben:Nur dass $userdata['user_rank'] nichts mit Gruppenzugehörigkeit zu tun hat ;-)
Achso! Übersehen! Danke für den Tip, evtl. brauche ich es noch.

Verfasst: 12.03.2007 10:47
von speedy00
morgen ;)

Genau das was ich suche, ich möchte nämlich mir und meinem Mods beim posten rechts neben der message box ein paar Links und Infos hinmachen.

Wie und wo genau hast du dein oben geposteten Code platzert?