Benachrichtigungs-Badge auch bei eigenem Menüpunkt realisieren

Keiner hat dran geglaubt, doch es ist passiert, WBB Support ist auf 6.2.
Neuer Shop von Pur Digital, ich hoffe es funktioniert alles so wie es soll.
Habe extra kein Update gemacht, da ich so viel besser alten Schrott losgeworden bin.
  • Grüße,

    wenn ich im Hauptmenü eine eigene Gruppierung anlegen, wie in dem Fall (Screen), wo dann auch der Blog zu finden ist, ist es möglich das in der Gruppierung (Community) auch ein Badge mit den ungelesenen Einträgen steht? Im besten fall das diese auch zusammengezählt werden, wenn beispielsweise auch etwas neues unter den Rezepten zu finden ist.

    Ist das realisierbar? Gibt es dafür ein Quick&Dirty oder anderweitigen Workaround?

    LG

  • Sunny C.

    wenn ich im Hauptmenü eine eigene Gruppierung anlegen, wie in dem Fall (Screen), wo dann auch der Blog zu finden ist, ist es möglich das in der Gruppierung (Community) auch ein Badge mit den ungelesenen Einträgen steht? Im besten fall das diese auch zusammengezählt werden, wenn beispielsweise auch etwas neues unter den Rezepten zu finden ist.


    Ist das realisierbar? Gibt es dafür ein Quick&Dirty oder anderweitigen Workaround?

    Vorweg gesagt ist nichts unmöglich, genauso wie die Umsetzung eines Badges (Notification) bei z.B. neuen Beiträgen in eigens angelegten Menüpunkten. Wenn Du Menüpunkte der Woltlab Apps wie z.B. Forum, Blog, etc. gruppierst, dann werden auch dort die Badges angezeigt und auch zusammen gezählt. Solltest Du hingegen eigene Menüpunkte anlegen, so verlagern sich die Badges entsprechend darunter in den Sublevels. Beispiel:

    # Forum
    # Community
    ____: Filebase

    In diesem Beispiel würden neue Beiträge der Filebase nicht als Badge hinter dem Menüpunkt Community angezeigt werden. Dies da Community ein eigens angelegter Menüpunkt ist. Da sich der Filebase Menüeintrag jedoch im Sublevel befindet, wird das Badge auch nur hinter der Filebase angezeigt. Sollte der Filebase-Menüeintrag jedoch noch weitere Sublevels haben (z.B. Neue Einträge, Heiße Einträge, etc.), so würden diese bei Neuerungen auch zusammengezählt und hinter dem Filebase-Eintrag ausgegeben werden. Ich hoffe Du kommst noch mit ;)

    Kurze zwischenzeitige Schlussfolgerung: Insofern eigene Menüpunkte zu statischen Seiten oder mit Rautezeichen verlinkt im ACP angelegt werden und darunter in den Sublevels dann Einträge zu den Woltlab Apps angelegt werden, so werden die Badges auch nur in den Sublevels angezeigt. Jedoch nicht im eigens angelegten Menüpunkt!

    Möglich ist dieses aber dennoch und das von einfach bis kompliziert. Je nach dem wie Umfangreich es sein sollte und in wie weit die Kenntnisse in der Materie von HTML, CSS oder Templates vorhanden sind, bieten sich dazu nachfolgende Möglichkeiten an:

    1. Mit den Woltlab intrigiertem Menü
      Vorteil: Badges werden überall ausgegeben und auch zusammengezählt
      Nachteil: Es dürfen keine eigenen Menüpunkte (z.B. URL-Link: #) oder Links zu statischen Seiten genutzt werden. Anderfalls würden keine Badges hinter dem Link im Menü ausgegeben werden (können).
    2. Mit Template-Eingriffe
      Vorteil: Sehr flexibel, da sowohl eigene Menüpunkte sowie auch quasi unendliche Sublevels mit entsprechenden Badges angelegt werden können.
      Nachteil: Es sind zwingend Template-Kenntnisse notwendig und Badges werden in den Sublevels nur hinter den jeweiligen App-Links zusammen gezählt, jedoch nicht in eigens angelegten Menüpunkten insofern dieser auf eine statische Seite oder mit einer Raute (#) unverlinkt bleibt. Verweist der Menülink über den Sublevels jedoch auf eine App, so wird im folge dessen (wie auch unter Punkt 1.) auch dort ein Badge angezeigt. Für das Anpassen von Links im Hauptmenü zu statischen Seiten oder mit unverlinkter Raute (#) mit Badges von darunter liegenden App-Links im Sublevel-Bereich sind zwar möglich, jedoch sind dazu sehr gute Template-Kenntnisse erforderlich!
    3. CSS-Anpassung
      Vorteil: Einfach umsetzbar
      Nachteil: Wie auch unter Punkt 1 dürfen keine eigenen Menüpunkte (z.B. URL-Link: # oder Links zu statischen Seiten) genutzt werden, da jegliche Menüeinträge lediglich per CSS so angepasst werden, dass diese den eigenen Bedürfnissen entsprechen. Zudem sind zwingend ausreichende CSS-Kenntnisse notwendig!
    4. Kombiniert
      Natürlich kann Punkt 1+3 oder 2+3, etc. miteinander kombiniert werden, welches die Komplexität natürlich damit ein wenig erhöht.

    [info='warning']Unbedachte Eingriffe in Templates können dazu führen, dass die Seite einen Fehler ausgibt und nicht mehr aufrufbar ist!!! Entsprechend dem sind vorher Sicherungen anzulegen und dieses lokal zu testen![/info]

    Zum ersten Punkt ist nicht viel zu sagen, da dies für sich alleine spricht. Beim zweiten Punkt, also den Template-Eingriffen sollte Dir folgender Codeabschnitt nicht unbekannt sein und Du entsprechende Kenntnisse vorweisen können um Deinen Wunsch entsprechend mit Template-Bearbeitung zu verwirklichen. Gleiches gilt für den dritten Punkt zu welchen ausreichende CSS-Kenntnisse erforderlich sind. Das folgende Beispiel zeigt den Code für die "ungelesenen Beiträge" im Forum:

    Dies Beispiel zeigt nun einen einzigen Link in welchen ein Badge (Notification) bei neuen Einträgen hinter dem Link ausgibt. Solche Links werden, wie bereits genannt, vom Woltlab eigenen Menü selbst generiert. Möchte man nun ein Link an einer anderer Stelle mit einen Badge versehen, so muss der Link im __menu-Template selbst oder aber mittels eigenen Template vor oder nach dem Woltlab eigenen Menü im __menu-Template mit {include file='MEIN_NEUES_TEMPLATE'} untergebracht werden. Klingt komplex und ist es auch und deswegen nochmals: Bitte immer vorher ein Backup machen und es lokal testen!!!

    Wie solches aussehen kann, kannst Du u.a. auf Belarusinfo.de sehen. Hier wurde im übrigen der o.g. Punkt 4 (Kombiniert) gewählt und mittels Templates und CSS-Bearbeitungen gearbeitet. Allerdings sind Badges als Gast natürlich nicht zu sehen ;)

    Gruss,
    Andreas

  • Wow, vielen Dank @Belarus für diese ausführlich Beschreibung. Das sieht man selten.

    Solche Dinge wie {foreach from=$boardNodeList item=boardNode} sind wahrscheinlich das Problem oder? Dafür müsste ich die Namen from= und item=kennen oder?

    Ich habe z.B in meinem "Community-Menüpunkt" folgende Aufstellung

    • Community (Eigener Menüpunkt mit Link zu einer Template-Seite)
      • Blog (App)
        • Sublevel
      • Rezepte (Drittanbieter App)
        • Sublevel
      • Url Shortener (Drittanbieter App)
      • Ticketsystem (Drittanbieter App)
        • Sublevel

    Wäre es denkbar, dass du mir bei der Umsetzung helfen würdest. Ich brauche meist ein funktionierendes Beispiel um zu lernen. Selbstverständlich würde ich dies mit einem Obolus abschließen. Kannst dich gerne via Konversation melden, ich wäre dir unglaublich dankbar.

  • Hallo,

    da es einfacher ist hier mit Zitaten und Beispielen zu arbeiten als mit etwaigen Messangern lediglich schreiben zu können, jedoch dort nur mit Umständen Zitate und Quellcodes hervorzuheben, führe ich die Diskussion hier einmal fort ;)

    Solche Dinge wie {foreach from=$boardNodeList item=boardNode} sind wahrscheinlich das Problem oder? Dafür müsste ich die Namen from= und item=kennen oder?

    Ohne Dir auf die Füsse zu treten, liegt das Problem nie in der {foreach}-Schleife selbst, sondern eher an dem Benutzer und wie/wo er diese einfügt. Denn wie bereits genannt sind für solche Eingriffe zwingend Kenntnisse erforderlich! Ohne Kenntnisse in dieser Materie wäre es nur ein raten und versuchen, welches zu einen Fatal-Error führen würden. Entsprechend dem solltest Du natürlich auch wissen was {foreach} , {if} und die darin enthaltenen from= oderitem= auch bedeuten. Um Dir das alles aber einmal genauer zu erklären, hier dazu der Quellcode aus meiner vorherigen Antwort zu diesem Thema mit ausführlichen Kommentaren zur Verständlichkeit:

    Dies zur Erklärung dazu, damit Du weißt, was die einzelnen Abschnitte überhaupt bedeuten bzw. bewerkstelligen. Wenn ein solcher Quellcode nun jedoch nur teilweise kopiert wird, dann kann solches natürlich, wie bei Dir geschehen, entweder zu einen Fatal-Error oder einer Endlosschleife führen - bedeutet, das dass Menü, einzelne Menüpunkte, etc. doppelt, dreifach oder mehrfach ausgegeben werden. Eben je nach dem wie und wo der Codefetzen des gesamten Quellcodes eingefügt wurde.

    Hinweis: Es gab ein kleinen Fehler im Quellcode, der selbst wenn dieser auskommentiert war, soeben behoben wurde.

    Ich habe z.B in meinem "Community-Menüpunkt" folgende Aufstellung

    • Community (Eigener Menüpunkt mit Link zu einer Template-Seite)
      ...
      ...

    Bevor ich näher darauf eingehe, würde ich mir erst einmal Gedanken über die Struktur des Menüs machen. Wenn ich z.B. "Community" lese, dann würde ich persönlich dazu das Forum, Blog, Gallery, Filebase, Kalender, Marktplatz und Rezepte zählen (siehe auch bei mir unter: Belarusinfo.de). Dinge wie URL-Shortener und Ticket-System wären in meinen Augen eher in einen Menüpunkt wie z.B. Service oder Support untergebracht, da die Mitglieder selbst darin/daran nichts ändern können, wie z.B. im Gegensatz im Forum, Blog, etc. Aber das ist nur meine persönliche Meinung, so dass Dir die Struktur Deines Menüs natürlich selbst überlassen bleibt ;)

    Doch nun weiter im Text ...

    Wenn Du einen Menüpunkt "Community" erstellst und dieser auf eine statische (eigene) Seite verlinkt wurde bzw. der Link einfach mittels Rautezeichen (#) ausgelassen wurde, dann ist es natürlich auch voll und ganz verständlich, dass dort kein Badge von Sublevel-Links ausgegeben werden (können). Wenn Du Dir nun zum Vergleich einmal bei unter Belarusinfo.de den Menüpunkt "Community" ansiehst, dann wirst Du feststellen, dass dieser auf die Foren-App verweist. Bei den in den Sublevels befindenen Links handelt es sich ebenso um Links zu diversen Apps wie Blog, Filebase, Gallery und Co. Wenn nun jemand ein neuen Blog-Eintrag schreibt, dann würde das Badge natürlich hinter dem Sublevel-Link erscheinen, aber eben auch hinter dem Menüpunkt "Community". Würde der Menüpunkt "Community" nicht mittels direkten Link an einer App gebunden (z.B. auf eine eigene Seite führen oder per Rautezeichen unverlinkt sein), so wäre dieser statisch und ohne Funktion und würde auch kein Badge ausgeben (können). Was Du nun tun kannst ist, dass Du den Menüpunkt "Community" lediglich einen Link zu einer App vergibst (Beispiel: Forum-List). In diesem Fall wäre es kein statischer Link mehr und sollte auch ein Badge bei etwaigen neuen Einträgen in den darunter liegenden Sublevels anzeigen ;)

    Wäre es denkbar, dass du mir bei der Umsetzung helfen würdest. Ich brauche meist ein funktionierendes Beispiel um zu lernen.

    Wie gesagt bin ich gerne bereit, solange es meine zeit her gibt, jemanden bei der Umsetzung zu helfen oder zu unterstützen. Keine Frage. Allerdings und da verstehe mich bitte nicht falsch oder fühle Dich damit auf den Schlips getreten. Doch funktionierende Beispiele sind ein Widerspruch in sich. Denn wenn es ein funktionierendes Beispiel ist, dann wäre es (wie schon daraus zu lesen ist) funktionstüchtig und kein Beispiel mehr, sondern ein fertiger Code und damit getätigte Arbeit ;)

    Selbstverständlich würde ich dies mit einem Obolus abschließen.

    Kannst Du sicher gerne tun, musst Du aber nicht. Jedoch wenn, dann bitte an Belarusinfo, so dass etwaige dort aufgenommene Spenden an die Tschernobylhilfe in Belarus weitergeleitet werden können - oder - lasse es unserem misterpu hier für ein Bier da. Ich persönlich möchte weder durch Spenden, noch durch mein Internet-Projekt, gleichermaßen in welcher Form, bereichert werden. Danke für das Verständnis.

    Gruss,
    Andreas

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!