Seite 1 von 1
Gruppen als Liste: Nur neueste wird angezeigt
Verfasst: 29.03.2005 16:02
von TC Stahl
Hi
Ich habe an der groupcp.php ein wenig rumgebastelt, um die Gruppenanzeige nicht mehr in Option-Box zu haben, sondern als normale fortlaufende Liste.
Mein Problem: Es wird jetzt immer nur die zuletzt erstellte Gruppe angezeigt. Meine Änderungen :
Code: Alles auswählen
if ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
{
$s_group_list_opt = $row['group_name'] ;
$s_group_number_opt = $row['group_id'] ;
}
}
$s_group_list = '<a href="' . append_sid("groupcp.$phpEx?" . 'g' . '=' . $s_group_number_opt) . '">' . $s_group_list_opt . '</a>';
if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
{
Das ganze spielt sich um die Zeilen 1222-1232 ab.
Zum vergleich der original Code:
Code: Alles auswählen
if ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
{
$s_group_list_opt .='<option value="' . $row['group_id'] . '">' . $row['group_name'] . '</option>';
}
}
$s_group_list = '<select name="' . POST_GROUPS_URL . '">' . $s_group_list_opt . '</select>';
if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
{
Wo ist der Fehler?
PS: Ich hoffe mal, das ist hier das richtige Forum für mein Problem

Verfasst: 29.03.2005 17:19
von Pyramide
Der Originalcode hängt innerhalb der Schleife mit
$s_group_list_opt .= .. jede Gruppe an die Variable an, dein Code überschreibt diese Variable jedoch jedesmal. Im Prinzip musst du diesen Teil
Code: Alles auswählen
$s_group_list = '<a href="' . append_sid("groupcp.$phpEx?" . 'g' . '=' . $s_group_number_opt) . '">' . $s_group_list_opt . '</a>';
in die Schleife setzen und das
= durch
.= ersetzen
Verfasst: 29.03.2005 17:55
von TC Stahl
Jetzt erscheinen zwar die Namen der Gruppen nebeneinander. Doch sind alle zusammen mit der gleichen url verlinkt. Die setzt sich am Ende aus allen IDs der jeweiligen Gruppen zusammen.
Wie bekomme ich einen Umbruch dort rein, sodaß die Gruppen untereinander stehen und jede mit ihrer eigenen url verlinkt ist?
Neuer Code:
Code: Alles auswählen
$s_group_list_opt = '';
while( $row = $db->sql_fetchrow($result) )
{
if ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
{
$s_group_list_opt .= $row['group_name'] ;
$s_group_number_opt .= $row['group_id'] ;
}
}
$s_group_list = '<a href="' . append_sid("groupcp.$phpEx?" . 'g' . '=' . $s_group_number_opt) . '">' . $s_group_list_opt . '</a>';
if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
{
Wenn ich den . bei
weglasse, wird als "Gesamt-Link" die url der neuesten Gruppe generiert (also ähnlich wie beim Eingangsproblem).
PS: Habt bitte Geduld mit einem php-Neuling

Verfasst: 29.03.2005 18:17
von Pyramide
Pyramide hat geschrieben:Im Prinzip musst du diesen Teil
Code: Alles auswählen
$s_group_list = '<a href="' . append_sid("groupcp.$phpEx?" . 'g' . '=' . $s_group_number_opt) . '">' . $s_group_list_opt . '</a>';
in die Schleife setzen und das
= durch
.= ersetzen
Also dahin, wo jetzt
Code: Alles auswählen
$s_group_list_opt .= $row['group_name'] ;
$s_group_number_opt .= $row['group_id'] ;
steht
Verfasst: 29.03.2005 21:16
von TC Stahl
Jetzt gibt es zwar einen Umbruch und die erste Gruppe wird richtig dargestellt. Doch die folgenden werden einfach nur erweitert:
Gruppe 1
Gruppe1Gruppe2
Gruppe1Gruppe2Gruppe3 ...
Der neue Code:
Code: Alles auswählen
$s_group_list_opt = '';
while( $row = $db->sql_fetchrow($result) )
{
if ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
{
$s_group_list_opt .= $row['group_name'];
$s_group_number_opt .= $row['group_id'];
$s_group_list .= '<a href="' . append_sid("groupcp.$phpEx?" . 'g' . '=' . $s_group_number_opt) . '">' . $s_group_list_opt . '</a><br>';
}
}
if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
Muß ich noch an anderer Stelle etwas ändern? Oder könnte es an der Einbindung im tpl liegen: Ich verwende das originale
Verfasst: 29.03.2005 22:59
von Pyramide
Bevor wir noch zehnmal aneinander vorbeireden:
Code: Alles auswählen
$s_group_list = '';
while( $row = $db->sql_fetchrow($result) )
{
if ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
{
$s_group_list .= '<a href="' . append_sid("groupcp.$phpEx?" . 'g' . '=' . $row['group_id']) . '">' . $row['group_name'] . '</a><br>';
}
}
if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
Verfasst: 30.03.2005 14:48
von TC Stahl
Danke für die Hilfe. Ich hoffe, du hast nicht allzu viele Jahre an mich verloren
Seltsamerweise mußte ich trotzdem noch
darübersetzen. Nur mit
erschien lediglich die Meldung: Es existieren keine Gruppen.
Also, mit diesem Code funktioniert es jetzt:
Code: Alles auswählen
$s_group_list_opt = '';
while( $row = $db->sql_fetchrow($result) )
{
if ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
{
$s_group_list_opt = $row['group_name'];
$s_group_list .= '<a href="' . append_sid("groupcp.$phpEx?" . 'g' . '=' . $row['group_id']) . '">' . $s_group_list_opt . '</a><br>';
}
}
if ( $s_group_list_opt != '' || $s_pending_groups_opt != '' || $s_member_groups_opt != '' )
...
Ist daran irgend etwas auszusetzen? (Sicherheit, Stabilität o.ä.)
Wenn nicht, würde ich es in den 2. Beitrag von mir zu diesem Thema setzen: Ich hatte im Mod-Forum gefragt, wie man eine Gruppendarstellung als Liste erzeugen kann.
Verfasst: 09.11.2005 21:30
von n3bUr
Ich habe es versucht bei mir einzubauen, hat aber leider nicht funktioniert.
Könntet ihr vielleicht nocheinmal eine genauere Einbauanleitung schreiben?
Danke schonmal!
Verfasst: 24.02.2006 00:42
von n3bUr
*schieb!*
Verfasst: 28.02.2007 01:37
von MC-Meyer
also daran wäre auch sehr interessiert. so ein MOD fehlt auf jeden fall noch.
habe es auch mal eingebaut, es ist aber nichts passiert. habe immer noch das pulldown menü.
wäre auch von einen kompletten hack mit anleitung nicht abgeneigt
