Hier mal eine etwas ältere Anleitung, die vor dem Erscheinen des entsprechenden Plugins für das WBB 4.0 geschrieben wurde. Im WBB 4.1 gehört dieser Effekt mittlerweile zum Standardumfang. Vielleicht kann ja noch jemand davon in irgendeiner Art profitieren.
Heute befassen wir uns mit einer Frage aus dem WoltLab-Community-Forum nach der farbigen Darstellung von Benutzernamen in Beiträgen, auf Profilseiten und in der Mitgliederliste.
Hierzu ist es grundsätzlich erforderlich, eigene Versionen der Templates messageSidebar, user und userInformationHeadline anzulegen.
Mein Beispielcode zielt darauf ab, Mitglieder der Gruppe 4 (Administratoren) in rot, Mitglieder der Gruppe 7 (beliebige selbsterstellte Gruppe) in blau und Mitglieder der Gruppe 3 (registrierte Benutzer) in grün anzeigen zu lassen. Neben der Farbe lassen sich natürlich auch andere Formatierungen zuweisen, so dass Eurer Phantasie eigentlich keine Grenzen gesetzt sind.
Beginnen wir mit den Änderungen für die Beitragsseitenleiste im Template messageSidebar:
Das Original:
wird zu:
Im nächsten Schritt wird für die Profilseite (Template user)aus:
die geänderte Version:
Zum guten Schluss dann noch die Mitgliederliste (Template userInformationHeadline)mit folgender Änderung:
wird zu:
Als letzter Hinweis sei noch gesagt, dass die Reihenfolge der angegebenen Deklarationen (zuerst Administratoren, dann weitere Gruppen je nach "Gewichtung" und zum Schluss Registrierte Benutzer) unbedingt eingehalten werden muss.
Und nun wie immer viel Spaß beim Ausprobieren.
Hier noch einige Ergänzungen, die ich auf Nachfrage erarbeitet habe:
Autor des letzten Beitrags (Template boardNodeList) in der Forenübersichtsseite:
Seitenleistenbox "Letzte Beiträge" (dahboardBoxLatestPosts)
Letzte Aktivitäten Seitenleistenbox (dahboardBoxRecentActivitySidebar):
Seitenleistenbox "Angemeldet als" (dashboardBoxSignedInAs):
Letzte Aktivitäten im Dashboard (recentActivityListItem):
Gruß norse
Heute befassen wir uns mit einer Frage aus dem WoltLab-Community-Forum nach der farbigen Darstellung von Benutzernamen in Beiträgen, auf Profilseiten und in der Mitgliederliste.
Hierzu ist es grundsätzlich erforderlich, eigene Versionen der Templates messageSidebar, user und userInformationHeadline anzulegen.
Mein Beispielcode zielt darauf ab, Mitglieder der Gruppe 4 (Administratoren) in rot, Mitglieder der Gruppe 7 (beliebige selbsterstellte Gruppe) in blau und Mitglieder der Gruppe 3 (registrierte Benutzer) in grün anzeigen zu lassen. Neben der Farbe lassen sich natürlich auch andere Formatierungen zuweisen, so dass Eurer Phantasie eigentlich keine Grenzen gesetzt sind.
Beginnen wir mit den Änderungen für die Beitragsseitenleiste im Template messageSidebar:
Das Original:
wird zu:
Im nächsten Schritt wird für die Profilseite (Template user)aus:
die geänderte Version:
Smarty-Template: 109
- <h1><span {assign var="groupIDs" value=$user->getGroupIDs()}{if 4|in_array:$groupIDs}style="color:red;"{/if} {if 7|in_array:$groupIDs}style="color:blue;"{/if}{if 3|in_array:$groupIDs}style="color:green;"{/if}>{$user->username}</span>{if MODULE_USER_RANK && $user->getUserTitle()} <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>{/if}</h1>
Zum guten Schluss dann noch die Mitgliederliste (Template userInformationHeadline)mit folgender Änderung:
Smarty-Template: 2
wird zu:
Smarty-Template: 2
- <h3><a {assign var="groupIDs" value=$user->getGroupIDs()}{if 4|in_array:$groupIDs}style="color:red;"{/if}{if 7|in_array:$groupIDs}style="color:blue;"{/if}{if 3|in_array:$groupIDs}style="color:green;"{/if}href="{link controller='User' object=$user}{/link}">{$user->username}</a>{if MODULE_USER_RANK && $user->getUserTitle()} <span class="badge userTitleBadge{if $user->getRank() && $user->getRank()->cssClassName} {@$user->getRank()->cssClassName}{/if}">{$user->getUserTitle()}</span>{/if}</h3>
Als letzter Hinweis sei noch gesagt, dass die Reihenfolge der angegebenen Deklarationen (zuerst Administratoren, dann weitere Gruppen je nach "Gewichtung" und zum Schluss Registrierte Benutzer) unbedingt eingehalten werden muss.
Und nun wie immer viel Spaß beim Ausprobieren.
Hier noch einige Ergänzungen, die ich auf Nachfrage erarbeitet habe:
Autor des letzten Beitrags (Template boardNodeList) in der Forenübersichtsseite:
Smarty-Template: 61
- <a {assign var="groupIDs" value=$boardNode->getLastPost()->getUserProfile()->getGroupIDs()}{if 4|in_array:$groupIDs}style="color:red;"{/if} {if 7|in_array:$groupIDs}style="color:blue;"{/if}{if 3|in_array:$groupIDs}style="color:green;"{/if}href="{link controller='User' id=$boardNode->getLastPost()->lastPosterID title=$boardNode->getLastPost()->lastPoster}{/link}" class="userLink" data-user-id="{@$boardNode->getLastPost()->lastPosterID}">{$boardNode->getLastPost()->lastPoster}</a>
Seitenleistenbox "Letzte Beiträge" (dahboardBoxLatestPosts)
Smarty-Template: 10
- <small>{if $latestPost->lastPosterID}<a {assign var="groupIDs" value=$latestPost->getLastPosterProfile()->getGroupIDs()}{if 4|in_array:$groupIDs}style="color:red;"{/if} {if 7|in_array:$groupIDs}style="color:blue;"{/if}{if 3|in_array:$groupIDs}style="color:green;"{/if}href="{link controller='User' object=$latestPost->getLastPosterProfile()->getDecoratedObject()}{/link}" class="userLink" data-user-id="{@$latestPost->getLastPosterProfile()->userID}">{$latestPost->lastPoster}</a>{else}{$latestPost->lastPoster}{/if} - {@$latestPost->lastPostTime|time}</small>
Letzte Aktivitäten Seitenleistenbox (dahboardBoxRecentActivitySidebar):
Smarty-Template: 7
- <h3><a {assign var="groupIDs" value=$event->getUserProfile()->getGroupIDs()}{if 4|in_array:$groupIDs}style="color:red;"{/if} {if 7|in_array:$groupIDs}style="color:blue;"{/if}{if 3|in_array:$groupIDs}style="color:green;"{/if}href="{link controller='User' object=$event->getUserProfile()}{/link}" class="userLink" data-user-id="{@$event->getUserProfile()->userID}">{$event->getUserProfile()->username}</a><small> - {@$event->time|time}</small></h3>
Seitenleistenbox "Angemeldet als" (dashboardBoxSignedInAs):
Smarty-Template: 9
- <h3><a {assign var="groupIDs" value=$__wcf->user->getGroupIDs()}{if 4|in_array:$groupIDs}style="color:red;"{/if}{if 7|in_array:$groupIDs}style="color:blue;"{/if}{if 3|in_array:$groupIDs}style="color:green;"{/if}href="{link controller='User' object=$__wcf->user}{/link}">{$__wcf->user->username}</a></h3>
Letzte Aktivitäten im Dashboard (recentActivityListItem):
Smarty-Template: 8
- <h3><a {assign var="groupIDs" value=$event->getUserProfile()->getGroupIDs()}{if 4|in_array:$groupIDs}style="color:red;"{/if} {if 7|in_array:$groupIDs}style="color:blue;"{/if}{if 3|in_array:$groupIDs}style="color:green;"{/if}href="{link controller='User' object=$event->getUserProfile()}{/link}" class="userLink" data-user-id="{@$event->getUserProfile()->userID}">{$event->getUserProfile()->username}</a><small> - {@$event->time|time}</small></h3>
Gruß norse
1.828 mal gelesen