WSF: Neue Sortierung als Registerkarte hinzufügen?

  • Ich möchte gern in meiner Filebase eine Registerkarte hinzufügen, über die die Downloadeinträge alphabetisch sortiert angezeigt werden können. Aktuell ist das leider nicht möglich.



    Im Prinzip sind das ja nur Links, die eine bestimmte Sortierung aufrufen. Aber wie bekomme ich dort oben Einträge hinzugefügt oder sogar umsortiert?
    Kann mir hier jemand helfen?

    Ich brauche keine Signatur! :)

  • Ich habe mich mal selbst dran versucht und das Template filelist kopiert und folgende Änderung vorgenommen:

    Leider hat das nicht wirklich funktioniert. Habe nur einen zweiten Tab "Neu" dazubekommen, welcher aber nicht funktioniert hat. :(


    Ich hänge das Template hier mal als Text File mit an. Vielleicht hat ja noch Jemand eine Idee...

    Dateien

    • filelist.txt

      (14,68 kB, 41 Mal heruntergeladen, zuletzt: )

    Ich brauche keine Signatur! :)

  • Das kannst du so gar nicht umsetzten, da serverseitig die Felder nach denen du sortieren willst validiert werden.
    Aktuell wird der Link zwar funktionieren, aber er wird nicht aktiv angezeigt nehme ich an ?

  • Es wurde ein neuer Tab angezeigt und den konnte ich anklicken. Aber er wurde weder aktiv, noch änderte sich die Sortierung.


    Und da kann man nichts machen?

    Ich brauche keine Signatur! :)

  • Du müsstest auch die php Datei ändern um das ganze umzusetzen.
    Konkret müsstest du in der Klasse $validSortFields das Array um dein Sortfield ergänzen.

  • Oh oh... Ich fürchte, dass ich das wohl besser als Vorschlag bei Woltlab einreichen werde. Dann muss ich eben ganz feste die Daumen drücken... :blush:


    EDIT: Habe diese Zeile in der Datei FileListPage.class.php gefunden.

    PHP
    1. public $validSortFields = ['username', 'subject', 'time', 'lastChangeTime', 'downloads', 'cumulativeLikes', 'comments', 'purchases', 'totalRevenue'];

    Und hier müsste ich nun nur das Feld 'title' mit einfügen und dann kann ich das Feld über das Template ansprechen?

    Ich brauche keine Signatur! :)

    Einmal editiert, zuletzt von PoooMukkel ()

  • "subject"? Ich weiß nicht. Dachte, es wäre "title". Ich schaue mir das an, sobald ich nachher etwas mehr Zeit habe. Erstmal Geburtstag feiern... :D

    Ich brauche keine Signatur! :)

  • Wichtig ist nicht wie das ganze im Frontend benannt wird, sondern wie genau die Spalte in der Datenbank heißt.
    Ein Problem dabei wirst du jedoch auf jeden Fall bekommen wenn du Mehrsprachtigkeit nutzt:
    In dem Falle ist eine Sortierung so unmöglich, da das Feld nur eine Sprachvariable Enthält und eben nicht den eigentlichen Namen des Plugins...
    Kannst du übrigens auch im Plugin Store betrachten:
    Plugins - WoltLab®
    Theoretisch sollte das, bei nur einer installierten Sprache, zum gewünschten Effekt führen...

  • Es funktioniert!!! @Morik. du bist wieder mal der Beste!! :thumbsup:


    Das korrekte Suchfeld lautet subject. Nun habe ich im Template filelist folgende Zeile hinzugefügt:


    Smarty: filelist.tpl
    1. <li{if $sortField == 'subject'} class="active"{/if}><a href="{link application='filebase' controller=$controllerName object=$controllerObject}pageNo={@$pageNo}&sortField=subject&sortOrder=ASC{@$additionalLinkParameters}{/link}">{lang}wcf.global.name{/lang}</a></li>

    Als Text habe ich die Variable wcf.global.name genutzt, denn die gibt als Tab Name aus. :)


    So sieht das Ganze jetzt bei mir aus:



    Das ist genau, was ich wollte! :) :grinning:

    Ich brauche keine Signatur! :)