Seite 1 von 1
[Gelößt] Anzeige: Benutzer in diesem Forum
Verfasst: 25.08.2010 10:04
von forant
Hallo,
wenn man ein Thema betrachtet, steht ja unten die Meldung:
Wer ist online?
Benutzer in diesem Forum:
Frage: in welcher HTML-Datei wird dies angegeben und mit welchem Syntax?
Begründung: ich möchte die Legende dort aufführen.
Vorab Danke für Hinweise
Greatings
Re: Anzeige: Benutzer in diesem Forum
Verfasst: 25.08.2010 10:17
von Frank1604
Da du ja keinen Style angegeben hast, gehe ich mal von ProSilver aus. Die Liste findet sich in der viewtopic_body.html. Der entsprechende Abschnitt ist dieser:
Code: Alles auswählen
<!-- IF S_DISPLAY_ONLINE_LIST -->
<h3><!-- IF U_VIEWONLINE --><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a><!-- ELSE -->{L_WHO_IS_ONLINE}<!-- ENDIF --></h3>
<p>{LOGGED_IN_USER_LIST}</p>
<!-- ENDIF -->
EDIT: So sieht der Abschnitt bei SubSilver2 aus, ebenfalls viewtopic_body.html
Code: Alles auswählen
<!-- IF S_DISPLAY_ONLINE_LIST -->
<br clear="all" />
<table class="tablebg" width="100%" cellspacing="1">
<tr>
<td class="cat"><h4>{L_WHO_IS_ONLINE}</h4></td>
</tr>
<tr>
<td class="row1"><p class="gensmall">{LOGGED_IN_USER_LIST}</p></td>
</tr>
</table>
<!-- ENDIF -->
Re: Anzeige: Benutzer in diesem Forum
Verfasst: 25.08.2010 10:45
von forant
(habe nur prosilver-styles)
Danke, Stelle gefunden
In der
index_body.html steht:
<!-- IF LEGEND -->• {L_LEGEND}: {LEGEND}<!-- ENDIF -->
und funktioniert ja auch.
wenn ich diesen Syntax via Drag & Drop in der
viewtopic_body.html eingebe, wird mir
nichts angezeigt.
Gebe ich
• {L_LEGEND}: {LEGEND}
ein, wird das
• {L_LEGEND} angezeigt

, aber nicht das
{LEGEND}
woran liegt dies?

da kann man doch eigentlich nichts falsch machen - oder doch?
(Styles aktualisieren und Cache leeren sind selbstverständlich)
Re: Anzeige: Benutzer in diesem Forum
Verfasst: 25.08.2010 11:09
von Frank1604
mdietrich hat geschrieben:Code: Alles auswählen
<!-- IF LEGEND -->• {L_LEGEND}: {LEGEND}<!-- ENDIF -->
Das kann so nicht in der Beitragsansicht funktionieren. Dieses ist für die Anzeige der Gruppen in der Forenübersicht zuständig. Die Daten dafür werden in der index.php generiert. Betrachtest du einen Beitrag, wird aber die viewtopic.php aufgerufen. Deshalb trift "<!-- IF LEGEND -->" nicht zu, und der Teil wird nicht angezeigt.
Was genau hast du denn vor?
Re: Anzeige: Benutzer in diesem Forum
Verfasst: 25.08.2010 12:31
von forant
Frank1604 hat geschrieben:Was genau hast du denn vor?
Wie im Eingangsposting
Begründung: ich möchte die Legende dort aufführen.
somit sieht der User, nicht nur wer den Beitrag geschrieben hat, sondern hat auch gleich (ohne zurück blättern) die Farblegende, an Hand er sehen kann zu welcher Gruppe der Autor gehört.
Re: Anzeige: Benutzer in diesem Forum
Verfasst: 25.08.2010 13:33
von Frank1604
Dann musst du die Daten auch in der viewtopic.php generieren.
finde:
danach füge ein:
Code: Alles auswählen
// Grab group details for legend display
if ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))
{
$sql = 'SELECT group_id, group_name, group_colour, group_type
FROM ' . GROUPS_TABLE . '
WHERE group_legend = 1
ORDER BY group_name ASC';
}
else
{
$sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type
FROM ' . GROUPS_TABLE . ' g
LEFT JOIN ' . USER_GROUP_TABLE . ' ug
ON (
g.group_id = ug.group_id
AND ug.user_id = ' . $user->data['user_id'] . '
AND ug.user_pending = 0
)
WHERE g.group_legend = 1
AND (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')
ORDER BY g.group_name ASC';
}
$result = $db->sql_query($sql);
$legend = array();
while ($row = $db->sql_fetchrow($result))
{
$colour_text = ($row['group_colour']) ? ' style="color:#' . $row['group_colour'] . '"' : '';
$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'];
if ($row['group_name'] == 'BOTS' || ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')))
{
$legend[] = '<span' . $colour_text . '>' . $group_name . '</span>';
}
else
{
$legend[] = '<a' . $colour_text . ' href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']) . '">' . $group_name . '</a>';
}
}
$db->sql_freeresult($result);
$legend = implode(', ', $legend);
finde:
danach füge ein:
Danach kannst du in der viewtopic_body.html diese Zeile hier verwenden:
Code: Alles auswählen
<!-- IF LEGEND -->• {L_LEGEND}: {LEGEND}<!-- ENDIF -->
Re: Anzeige: Benutzer in diesem Forum
Verfasst: 25.08.2010 14:13
von forant
SUPER - klappt perfekt im
viewtopic - das sind halt die Profis
dafür meinen herzlichen Dank
Kann man das mit der
viewforum auch machen? Wie?

Re: Anzeige: Benutzer in diesem Forum
Verfasst: 25.08.2010 14:20
von Frank1604
Klar, da sieht das dann genauso aus, nur eben mit der viewforum_body.html und der viewforum.php
finde in viewforum.php:
davor füge ein:
Code: Alles auswählen
// Grab group details for legend display
if ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))
{
$sql = 'SELECT group_id, group_name, group_colour, group_type
FROM ' . GROUPS_TABLE . '
WHERE group_legend = 1
ORDER BY group_name ASC';
}
else
{
$sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type
FROM ' . GROUPS_TABLE . ' g
LEFT JOIN ' . USER_GROUP_TABLE . ' ug
ON (
g.group_id = ug.group_id
AND ug.user_id = ' . $user->data['user_id'] . '
AND ug.user_pending = 0
)
WHERE g.group_legend = 1
AND (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')
ORDER BY g.group_name ASC';
}
$result = $db->sql_query($sql);
$legend = array();
while ($row = $db->sql_fetchrow($result))
{
$colour_text = ($row['group_colour']) ? ' style="color:#' . $row['group_colour'] . '"' : '';
$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'];
if ($row['group_name'] == 'BOTS' || ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')))
{
$legend[] = '<span' . $colour_text . '>' . $group_name . '</span>';
}
else
{
$legend[] = '<a' . $colour_text . ' href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']) . '">' . $group_name . '</a>';
}
}
$db->sql_freeresult($result);
$legend = implode(', ', $legend);
finde in viewforum.php:
Code: Alles auswählen
'GOTO_PAGE_IMG' => $user->img('icon_post_target', 'GOTO_PAGE'),
danach füge ein:
Danach kannst du in der viewforum_body.html wieder die Zeile
Code: Alles auswählen
<!-- IF LEGEND -->• {L_LEGEND}: {LEGEND}<!-- ENDIF -->
benutzen.
Re: Anzeige: Benutzer in diesem Forum
Verfasst: 25.08.2010 14:41
von forant
Perfekt
meinen herzlichen Dank für die schnelle und kompetente Hilfe
Greatings