Mehrere Legenden (automatische Zuordnung via needle)

  • Hinweis: Ab Version 5.5 ist der Template Modifier strstr nicht mehr nutzbar. Einen möglichen Ersatz habe ich in dem folgenden Beitrag beschrieben: RE: Mehrere Legenden (automatische Zuordnung via needle)

    ---

    Moin liebe WoltLab Community,

    da ich immer wieder sehe, dass einige User eine unterteilte Legende haben wollen und dieses Problem im Template nur mit reinem HTML lösen, würde ich euch eine Methode präsentieren, wo die Benutzerränge "automatisch" in den einzelnen Bereichen der Legende zugeordnet werden. Ich verwende für dieses Beispiel den Stil "Nero" mit der Templategruppe "Nero".

    Tutorial

    1. Im ACP einloggen und zu Anpassung > Templates navigieren. Dort sucht ihr nach dem Template: boxUsersOnline

    2. Das Template boxUsersOnline kopiert ihr in eine Templategruppe, in meinem Fall "Nero".

    3. Ersetzt den kompletten Inhalt des kopierten Templates mit meinem Part:

    boxUsersOnline.tpl

    4. Erstellt nun unter Anpassung > Templates > Template hinzufügen ein neues Template mit dem Namen multipleLegends. Ich wähle hierbei meine bereits vorhandene Templategruppe namens "Nero". Fügt dort nun meinen Part ein:

    multipleLegends.tpl

    Was genau wurde jetzt geändert?
    Im Template boxUsersOnline habe ich folgenden Part:

    mit meinem Part ersetzt:

    Code
    {if USERS_ONLINE_ENABLE_LEGEND && $usersOnlineList->getUsersOnlineMarkings()|count}
        {include file="multipleLegends"}
    {/if}

    Hierbei wird via {include file="multipleLegends"} das Template multipleLegends inkludiert, um die Übersicht innerhalb des Templates zu wahren.

    Anpassungen im Template "multipleLegends" tätigen

    In diesem Fall habe ich mit Sprachvariablen gearbeitet, um die Mehrsprachigkeit im Forum zu erhalten. Die bereits vorgefertigten XML Dateien könnt ihr aus dem Anhang entnehmen und gegebenenfalls eigene Anpassungen tätigen, falls ihr andere Sprachvariablen verwenden möchtet. In diesem Fall müsst ihr im Template multipleLegends folgende Parts abändern <dt>{lang}wcf.user.usersOnline.marking.legend.moderation{/lang}</dt>. Hierzu muss dann ebenfalls die Änderung in der XML Datei erfolgen.

    Um die "needle" zu ändern, die wir nachher in der Darstellung der "Benutzer online"-Darstellung brauchen, müsst ihr folgenden Part im Template multipleLegends abändern {if $usersOnlineMarking|strstr:"moderation"}. Dort ersetzt ihr das "moderation" dann z.B. gegen "userranks" oder "guardians", je nach dem, wie ihr die Zuordnung benennen wollt.

    "Benutzer online"-Darstellung zuweisen

    Um nachher die Benutzergruppen den unterschiedlichen Bereichen zuzuordnen, muss eine "needle" in der "Benutzer online"-Darstellung gesetzt werden. Als Beispiel nehmen wir hierbei den Templatepart if $usersOnlineMarking|strstr:"moderation"}. Dort wurde eine "needle" namens "moderation" gesetzt, die wir nun ansprechen müssen, um den gewünschten Effekt zu erzeugen. Das tun wir, indem wir vor unserer Beispiel "Benutzer online"-Darstellung <span style="color: green;">%s</span> ein <i class="moderation"></i> setzen. Am Ende sieht das so aus <i class="moderation"></i><span style="color: green;">%s</span>.

    Jetzt sollte die Benutzergruppe im gewünschten Bereich angezeigt werden.

    Das Ergebnis:

    Natürlich kann man die Box noch nach den eigenen Vorlieben via CSS oder Templatebearbeitung gestalten.

  • Augenscheinlich sieht für mich alles richtig aus.
    Sofern die needle richtig gesetzt wird, wird die Benutzergruppe auch in der jeweiligen "Kategorie" dargestellt. Ich kann hier persönlich auch nur Rätselraten, das müsste ich mir dann genauer angucken. Sofern du bereit bist, mir einen Account zu erstellen, der mir den Zugriff auf die Benutzergruppen und Templates ermöglicht, könnte ich es mir morgen Abend angucken

  • Und wie kann man diese Icons vor die Benutzergruppen setzen bzw. woher bekommt man diese?

  • Das sind FontAwesome-Icons, die über die Formatierung der Benutzergruppen eingebunden werden. Beispiele dafür findest Du zuhauf hier im Forum.


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!