Seite 1 von 2
Link nur für eine bestimmte Gruppe anzeigen!
Verfasst: 10.06.2003 19:40
von m-a-b
hi!
ist es möglich, dass ein link nur für ein bestimmte gruppe angezeigt wird
(in der overall-header.tpl).
also ähnlich wie diese funktion:
mfg
Markus

Verfasst: 11.06.2003 16:28
von saerdnaer
hi
das gehn natürlich... zuerst solltest du folgende funktion am ende deiner functions kurz vor ?> einfügen:
Code: Alles auswählen
function member_of($group, $userdata)
{
global $db;
if ( !$userdata['session_logged_in'] )
{
return false;
}
$sql = "SELECT count(*) AS num FROM " . USER_GROUP_TABLE . "
WHERE user_id = '" . $userdata['user_id'] . "' AND group_id ";
if ( strpos(',', ' ' . $group_id) )
{
$sql .= "IN ( " . $group_id . " )";
}
else
{
$sql .= "= '" . $group_id . "'";
}
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get group auth', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
if ( $row['num'] > 0 )
{
return true;
}
return false;
}
dann gehst du noch in deine page_header.php und fügst da nach folgendem:
Code: Alles auswählen
if ( !empty($userdata['user_popup_pm']) )
{
$template->assign_block_vars('switch_enable_pm_popup', array());
}
folgendes ein:
Code: Alles auswählen
if ( member_of('123', $userdata) )
{
$template->assign_block_vars('switch_usergroup_123', array());
}
wobei du 123 durch die id der ensprechenden gruppe ersetzt...
und schon hast du deinen schalter und xyz ist nur für mitglieder der usergruppe sichtbar:
Code: Alles auswählen
<!-- BEGIN switch_usergroup_123 -->
xyz
<!-- END switch_usergroup_123 -->
ah
Verfasst: 11.06.2003 16:32
von m-a-b
Danke saerdnaer!
mfg
markus

Verfasst: 11.06.2003 18:24
von Kettu
Hab ein ähnliches Problem. Nur ich würde bestimmte Links im Overall-header gerne nur für registrierte Benutzer anzeigen lassen.
Verfasst: 11.06.2003 18:27
von JumpinJack
Das ist kein Problem:
Setze die Links zwischen diese Zeilen:
Code: Alles auswählen
<!-- BEGIN switch_user_logged_in -->
<!-- END switch_user_logged_in -->
Verfasst: 12.06.2003 13:49
von Kettu
JumpinJack hat geschrieben:Das ist kein Problem:
Setze die Links zwischen diese Zeilen:
Code: Alles auswählen
<!-- BEGIN switch_user_logged_in -->
<!-- END switch_user_logged_in -->
Wie? Ist das echt sooo einfach????

Boah! Das wäre ja cool! *
gleich mal testen geht*
5 Min später
Wahnsinn!!!! Das funzt ja wirklich!!! Klasse!!! *
knuddel*

Verfasst: 19.09.2004 00:13
von grizzlibaer
sorry erstmal das ich den alten Beitrag rauskrame. Aber genau das würde ich gerne haben. Leider funktioniert das nicht. Es wird mir nichts angezeigt (und es kommt auch keine Fehlermeldung)

Den ersten Teil hab ich in includes/functins.php eingefügt. Das ist doch richtig oder? Ich habe es mit 2 Gruppen probiert.
Kann ich das auch in anderen Dateien, wie zb index_body.tpl dann verwenden (vorausgesetzt es funktioniert bei mir auch)?
gruß
grizzli
Verfasst: 19.09.2004 01:12
von saerdnaer
wenn du schon gemerkt hast, dass das hier ein alter Beitrag ist hätest du ja ein neuen Thema aufmachen können
die aktuelle version der funktion findest du hier:
http://www.phpbb.de/topic65401.html
ah
Verfasst: 19.09.2004 01:22
von grizzlibaer
Hi,
vielen lieben Dank

- Funktioniert einwandfrei *freu*
gruß
grizzli
PS: Dachte neuer Thread wär nicht nötig

Verfasst: 21.05.2005 11:41
von Dark_Viech
so, ich hab jetzt statt dem Mod "abfrage der gruppenzugehörigkeit" das snippet hier genommen.
funzt bei mir nur nicht so ganz, deswegen hab ich ein paar Fragen:
1. Wo kann man genau die Gruppen Id sehen?
2. Muss man in dem Code, den man in die functions.php einfügen muss, irgendwas ändern? (gruppen ID???)
3. Muss ich die "123" einfach nur durch meine ID ersetzen?
4. Wie funktioniert das mit mehrern Gruppen? Wenn ich die "123" duch "1,2,3" ersetze, kommt bei mir ein parse-Fehler in der Template-datei.
5. Ich bin ein absoluter noob, und hab keine Ahnung in welche tpl-datei ich den Gruppen-Bereich schrieben muss(zB. wenn er unterhalb des ACP erscheinen soll)
und noch eine andere Frage:
wenn ich mir online im Browser den Quelltext der Seite ansehe, steht in der index.php was ganz anderes als offline, woran liegt das?
vielen dank