Haumis wbb hilfe (http://haumis-wbb-hilfe.de/wbb2/index.php)
- WBB2 (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=3)
-- Es klappt nicht (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=48)
--- Persönliche Box global einbinden (http://haumis-wbb-hilfe.de/wbb2/thread.php?threadid=2439)
Geschrieben von Listiger_Falke am 22.05.2013 um 22:15:
Ich hab oben 2 Bilder angehangen. Bild 1, so werden die Namen ja jetzt dargestellt. (Hintereinander). Nun habe ich versucht, deinen Zeilenumbruch hinter jedem Namen zu erreichen, indem ich in dem PHP-Code ein <br /> eingefügt habe (Bild 2) Leider habe ich nun einen Abstand nach oben zusätzlich, also wirkt das <br /> nicht hinter dem Namen, sondern vor dem Namen

Allerdings würde, selbst wenn es hinter dem Namen wirksam wäre wohl hinter dem letzten Namen auch eine Leerzeile verursachen, hier müßte wohl eine zusätzliche Abfrage her.... ist noch ein weiterer Name da, dann <br /> ... ansonsten eben nichts. Das mit den CSS Klassen schaue ich eben an
Geschrieben von Listiger_Falke am 23.05.2013 um 12:01:
| Zitat: |
Original von haumi
Wenn die CSS-Klassen im Template eingebaut sind die sich korrekt an die Usergruppe halten
(siehe hier) dann ist die Anzeige wie gewünscht.
Schau hier im Board!
Wie gesagt es muss nur der Eintrag im Template css gemacht werden und den bei den Gruppen bearbeiten.
|
|
Ist diese Vorgehensweise in diesem Fall nicht etwas kompliziert, weil die Klassen doch schon vorhanden sind. Ich habe mir da mal die jgs_portal_online.php als Grundlage der Portalanzeige angeschaut. Zwar steige ich da nicht durch alles durch, aber die Klassen werden dort doch auch abgefragt, und zwar durch
| php: |
1:
|
$result = $db->unbuffered_query("SELECT s.userid, username, useronlinegroupid, useronlinemarking, invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid WHERE s.lastactivity >= '".(time()-60*$useronlinetimeout)."'".(($wbbuserdata['ignorelist']) ? (" AND s.userid NOT IN (".str_replace(" ",",",$wbbuserdata['ignorelist']).")") : (""))." ORDER BY u.username ASC"); |
|
Also quasi den gleichen Abfragesatz, nur ergänzt durch useronlinegroupid, useronlinemarking,
Allerdings wenn ich die beiden Punkte zur Abfrage hinzufüge ändert sich die Anzeige selbst noch nicht, ich scheine also etwas mehr dazu packen zu müßen
PS: Im ACP habe ich ja für alle Benutzergruppen eine Markierung hinterlegt, nach dem Schema Markierung in der »Useronline Anzeige«: <font color=#BE0104><b>%s</b></font><img src="zzteam/t001.gif" border="0">
Geschrieben von haumi am 23.05.2013 um 15:14:
| Zitat: |
| PS: Im ACP habe ich ja für alle Benutzergruppen eine Markierung hinterlegt, nach dem Schema Markierung in der »Useronline Anzeige«: <font color=#BE0104><b>%s</b></font><img src="zzteam/t001.gif" border="0"> |
|
Da wird die Useronlinemarkierung per html gemacht, während meine Erweiterung auf eine css-Klasse zugreift:
Ich spiele hier mal das Beispiel anhand des Moderators durch.
Gruppename: Moderatoren (MUSS identisch sein mit dem css-Klassennane!)
css-Klasse:
.Moderatoren {
color: #458B00;
font-size:1.5em;
font-weight:bold;
font-style:italic;
font-family: "monotype corsiva";
}
Eintrag bei Gruppen bearbeiten, Moderatoren
Markierung in der »Useronline Anzeige«: =
<span class="Moderatoren">%s</span>
<span class="Moderatoren">%s</span> ist auch der Eintrag in der Tabelle bb1_groups.
in meiner Erweiterung werden hier die anwesenden Mitglieder ermittelt:
| code: |
1:
2:
3:
|
$result = $db->unbuffered_query("SELECT s.userid, username, invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid WHERE s.lastactivity >= '".(time() - 60 * $useronlinetimeout)."'".(($wbbuserdata['ignorelist']) ? (" AND s.userid NOT IN (".str_replace(" ", ",", $wbbuserdata['ignorelist']).")") : (""))." ORDER BY u.username ASC");
while ($row = $db->fetch_array($result)) {
$anwesend = $row['username']." "; |
|
Die Benutzergruppe je Mitglied erhält man durch
| code: |
1:
|
$erg=$db->query_first("SELECT g.title FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON (u.rankgroupid= g.groupid) WHERE u.username = '$anwesend'"); |
|
Und hier wird die zugeordnete css-Klasse als Markierung aufgeschlagen:
| code: |
1:
|
$anwesend ='<span class="'.($erg['title']).'">'.($anwesend)."</span>"; |
|
$erg['title'] enthält im Beispiel den Wert Moderatoren so das die Beispielzeile lautet:
$anwesend =<span class="Moderatoren">haumi</span>;
der Name haumi wird mit der Formatierung der Klasse Moderatoren angezeigt.
Diese Klasse kann man in allen Seiten anwenden!
LG
haumi
Geschrieben von Listiger_Falke am 23.05.2013 um 20:34:
So, ich habe jetzt die Box drin, und zusätzlich die persönliche Box. Ich bin für die persönliche Box wie folgt vorgegangen: Ich habe die anfängliche f_persoenliche_box.php, die ja im Ordner portalboxen drin war, umbenannt in global_persoenliche_box.php (Um eine bessere Zuordnung zu haben, wozu die gehört.... man weiß ja nach ein paar Monaten nicht mehr was man mal tat

) Die habe ich dann direkt im Root hochgeladen. Zusätzlich habe ich in der PHP 2mal das $seiteninfos[seiten_text] gegen $headerpersoenlichebox geändert, um nicht mit den Variablen des Portals in Konfrontation zu kommen, wo diese Variable ($seiteninfos[seiten_text]) ja als Standart steht.
In der global_header.php hab ich dann die Datei über require('./global_persoenliche_box.php'); eingebunden. Und schwups.... alles ist da
Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH