Hi,
ich habe mal eine kleine code frage.
ist es ein großer aufwand, bestimmten Code aus einer *.tpl-Datei für z.B. nicht registrierte User oder nur für eine bestimmte Gruppe anzuzeigen.
Wenn es nicht zu schwer ist, würde ich mich über ein weg freuen, da ich keine anhung habe, wo man anfangen soll dafür....
Bestimmte Code-Teile einer *.tpl soll nicht geladen werden
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Code: Alles auswählen
<!-- BEGIN switch_user_logged_in -->
<!-- END switch_user_logged_in -->
Code: Alles auswählen
<!-- BEGIN switch_user_logged_out -->
<!-- END switch_user_logged_out -->
Es liessen sich noch andere Sachen definieren (obiges ist bereits Standard), z.B. ob Admins, Mods usw.
Code: Alles auswählen
<!-- BEGIN switch_user_is_authorized -->
<!-- BEGIN switch_user_is_authorized -->
Das ist jetzt natürlich nur ein Beispiel; da gibt´s verschiedenste Varianten.}
if( $userdata['user_level'] == ADMIN )
{
$template->assign_block_vars('switch_user_is_authorized', array());
}
// Add no-cache control for cookies if they are set
Mit Gruppen ist dies natürlich auch möglich (s. Beispiel).
Doch noch zwei fragen
du hast ja im link dies gemeint
meine erste frage.im andeem post, war es ja für zugriffverweigerung. wenn ich es umgekehrt machen will, dann muss ich doch bei der variable "$access_allowed" alles einfach umdrehen, also was true ist wird false und was false ist wird true oder????
meine zweite besieht sich eher aufs verstehen, als nur anwenden. ich verstehe die else sache nicht, wann kommt es vor, wenn der inhalt vor dem else rankommt und wenn der else inhalt rankommt?? könntest du mir bitte dies erklären
du hast ja im link dies gemeint
Code: Alles auswählen
$allowed_u = array();
$allowed_u[] = 'g3'; // <-- ID der Gruppe eintragen
$access_allowed = false;
if( in_array($userdata['user_id'],$allowed_u))
{
$access_allowed = true;
}
else
{
$sql = "SELECT g.group_id, g.group_name
FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g
WHERE ug.user_id = '" . $userdata['user_id'] . "'
AND g.group_id = ug.group_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get user group.', '', __LINE__, __FILE__, $sql);
}
$access_allowed = false;
while( list($group_id, $group_name) = $db->sql_fetchrow($result) )
{
if( in_array('g' . $group_id[group_id],$allowed_u ))
{
$access_allowed = true;
break;
}
if( in_array('g' . $group_name[group_name],$allowed_u))
{
$access_allowed = true;
break;
}
}
if( !$access_allowed )
{
$template->assign_block_vars('switch_zahlende_user', array());
}
}
meine zweite besieht sich eher aufs verstehen, als nur anwenden. ich verstehe die else sache nicht, wann kommt es vor, wenn der inhalt vor dem else rankommt und wenn der else inhalt rankommt?? könntest du mir bitte dies erklären