Foren aus der Forenauflistung ausblenden die ....

  • Betroffene Version
    WoltLab Suite 5.2

    Mein Wunsch/Vorhaben:

    Ich möchte gerne Foren aus der Forenauflistung ausblenden die noch keine Themen/Beiträge enthalten.

    Mir ist klar, das man Foren im ACP mit der Einstellung: "Forum aus Forenliste ausblenden" ausblenden kann. Die hat aber den Nachteil, das die Foren generell ausgeblendet sind und erst wieder manuell sichtbar geschaltet werden müssten. Ich würde mir daher eine Möglichkeit wünschen, Foren erst dann sichtbar zu machen, wenn ein Thema/Beitrag vorhanden ist. Die Foren sind alle für RSS-Feeds gedacht und die kommen eben erst wenn sie kommen.

    Ich kann mir vorstellen, das dies durch eine Manipulation des Templates der Forenliste und einer IF-Abfrage möglich ist. Ich bin aber leider zu unbeholfen dazu dies selbst zu machen und würde mich über konkrete Hilfe freuen.

    WoltNet - Wir haben die aktuellen Nachrichten der WoltLab-Szene!

  • Zur hilfreichsten Antwort springen
    • Hilfreichste Antwort

    Ich kann mir vorstellen, das dies durch eine Manipulation des Templates der Forenliste und einer IF-Abfrage möglich ist.

    Ich habe gerade leider kein Forum in der Version 5.2 zur Hand, aber vielleicht hilft dir eine Anleitung für die Version 3.1 ja trotzdem weiter.

    Bearbeiten musst du das boardNodeList Template.

    Ausgehend vom Forum in der Version 3.1

    Zeile 30 sieht wie folgt aus:

    Smarty
        {else if $boardNode->getBoard()->isBoard()}

    Und Zeile 120:

    Smarty
        {else}

    Unter Zeile 30 könnte man jetzt z.B. folgendes einfügen:

    Smarty
            {if $boardNode->getBoard()->getThreads()}

    Und über Zeile 120 folgendes:

    Smarty
            {/if}

    Dann würde ein Forum, welches keine Themen hat, nicht mehr angezeigt werden.

    Falls die Zeilennummern in der Version 5.2 anders sein sollten, müsstest du dir die richtigen Zeilen selbst heraussuchen. Ich gehe mal davon aus, dass die erste Zeile immer noch {else if $boardNode->getBoard()->isBoard()} als Inhalt haben wird. Also die könntest vielleicht du via STRG + F finden. Und die zweite Zeile müsste genau so weit eingerückt sein wie die erste Zeile. Also wenn du die erste Zeile gefunden hast, dann kannst du auch die zweite Zeile finden.

  • ich bin als alter Mann natürlich wieder viel zu langsam, aber {if $boardNode->getThreads()} ..... {/if} reicht auch.


    Gruß norse

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

    Einmal editiert, zuletzt von norse (26. April 2020 um 18:57)

  • Ich hatte auch auf eine Antwort von dir und Reen gehofft. Das Fabi_995 zuerst geantwortet hat war Top. :thumbup:Ihr seit die Experten auf die man bauen kann! <3

    WoltNet - Wir haben die aktuellen Nachrichten der WoltLab-Szene!

  • Das macht doch der Feedreader. Der hat sowieso keinen Bildschirm, also muss er auch nichts sehen....


    Gruß norse

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

  • Hatte sich schon erledigt. Danke, hab es nur überlesen.

    Für andere sei aber auch gesagt, das die Foren, trotz das sie ausgeblendet werden, immer noch per Direkte-Link aufrufbar sind. Theoretisch sollten auch diese Foren von Bots erkannt werden. Wenn auch sie diese dann nicht durchsuchen würden. ;)

    WoltNet - Wir haben die aktuellen Nachrichten der WoltLab-Szene!

  • {if $boardNode->getThreads()} ..... {/if} reicht auch.

    Stimmt, hatte ich nicht auf dem Schirm.

    Der Unterschied ist folgender:

    $boardNode->getThreads() zählt die Beiträge des Forums + dessen Unterforen.

    $boardNode->getBoard()->getThreads() zählt nur die Beiträge des Forums, ohne dessen Unterforen.

    Dann kann WoltNet das nehmen, was für ihn am besten passt. Aber vermutlich wäre $boardNode->getThreads() sinnvoller.

Jetzt mitmachen!

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