Verwendung: Reihenfolge der Portfolio-Einträge

Basti's Avatar

Basti

25 Jul, 2016 07:16 PM

Produkt: Oneo Contao

Hallo! Ich habe neue Nachrichten erstellt, um diese als neue Portfolio-Einträge im Frontend als Boxen mit Mouseover verwenden zu können. Jetzt sind die neuesten Nachrichten natürlich vorne, ich will aber die Reihenfolge der Portfolio-Boxen ändern können und wenn neue hinzu kommen diese dann passend platzieren.
Wie kann ich denn das umsetzen? Vielen Dank!

  1. Support Staff 1 Posted by RockSolid Theme... on 26 Jul, 2016 05:35 AM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Frage.

    Das Newsmodul bietet standardmäßig leider keine Möglichkeit manuell zu sortieren. Die einfachste Lösung ist das Datum einfach in der gewünschten Reihenfolge anzupassen, da es im Frontend nicht ausgegeben wird.

    Das ist natürlich nicht die eleganteste Lösung, allerdings ist sie zweckmäßig. Ich werde eine Diskussion anregen ob dieses Feature es wert wäre in ein eigene Erweiterung (das wäre leider der einzige Weg) ausgelagert zu werden.

  2. Support Staff 2 Posted by RockSolid Theme... on 27 Jul, 2016 05:30 PM

    RockSolid Themes's Avatar

    Um die Einträge im Newsmodul von Contao manuell sortieren zu können haben wir eine kleine Anpassung ausgearbeitet. Anbei zwei Code-Abschnitte für die dcaconfig.php und initconfig.php.

    Allerdings hat die Anpassung, je nach Einsatzzweck, einen kleinen Haken: Zwar lassen sich die Einträge in der jeweiligen Kategorien sortieren, nicht aber kategorieübergreifend. Das ist mit der, auf zeitlich sortierte Daten ausgelegten, Struktur des News-Moduls so schlicht nicht möglich.

    In der initconfig.php Zeile 9 'order' => 'tl_news.pid ASC, tl_news.sorting ASC' wird zuerst nach ID der Kategorie und dann nach Position im Backend der jeweiligen Beiträge sortiert. Die Reihenfolge können Sie jeweils umkehren indem Sie die Zeichenkette ASC in DESC ändern.

    Sofern Sie also nur eine Kategorie benötigen macht die Anpassung genau was Sie möchten. Möchten Sie sortieren und kategorisieren können Sie nur innerhalb der Kategorie manuell sortieren.

    Benötigen Sie Kategorien bleibt die Sortierung per Datum die beste Lösung. Ein weiterer kleiner Haken ist: Die Anpassung gilt für alle News, was Redakteure sofern man eine Art „Portfolio“ und normales News-Modul gleichzeitig einsetzt mitunter verwirrten könnte.

    system/config/initconfig.php

    <?php
    
    // Put your custom configuration here
    
    $GLOBALS['TL_HOOKS']['newsListFetchItems'][] = array('CustomSort','newsListFetchItems');
    
    class CustomSort {
        public function newsListFetchItems($newsArchives, $blnFeatured, $limit, $offset, $moduleNewsList) {
            return \NewsModel::findPublishedByPids($newsArchives, $blnFeatured, $limit, $offset, array('order' => 'tl_news.pid ASC, tl_news.sorting ASC'));
        }
    }
    

    system/config/dcaconfig.php

    <?php
    
    // Put your custom configuration here
    
    $GLOBALS['TL_DCA']['tl_news']['list']['sorting']['fields'] = array('sorting');
    $GLOBALS['TL_DCA']['tl_news']['fields']['sorting'] = array(
        'label'                   => &$GLOBALS['TL_LANG']['MSC']['sorting'],
        'sorting'                 => true,
        'flag'                    => 2,
        'sql'                     => "int(10) unsigned NOT NULL default '0'"
    );
    
  3. 3 Posted by Lukas on 21 Dec, 2016 09:19 AM

    Lukas's Avatar

    Hallo,
    Wenn ich die angebenen Änderungen mache bekomme ich im FE einen Fehler und im BE funktionieren nur noch die Startseite.
    Hat sich da in den letzten Updates was geändert?

  4. 4 Posted by Lukas on 21 Dec, 2016 09:21 AM

    Lukas's Avatar

    Das ist der angezeigte Fehler

  5. Support Staff 5 Posted by RockSolid Theme... on 21 Dec, 2016 01:11 PM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Nachricht.

    Die Anpassung für die Datei system/config/dcaconfig.php hat in dem obigen Beitrag noch gefehlt. Bitte übernehmen Sie diese Anpassungen und führen danach ein Datenbank-Update durch.

  6. 6 Posted by LOHOFF.IT on 02 Dec, 2017 10:40 AM

    LOHOFF.IT's Avatar

    Der obiger Code funktioniert zwar (Contao 3.5.31), scheinbar sollte man es aber vermeiden die Sortierung zwischenzeitlich auf Datum zu stellen (oder unbewusst stehen zu lassen) und dann die Reihenfolge manuell zu ändern. Nach dem Zurückstellen auf "Sortierindex" funktionierte das ganze bei mir nämlich nicht mehr - oder zumindest nur noch willkürlich. Lösung war am Ende dann den Eintrag "sorting" in der "tl_news" bei den betroffenen Einträgen auf 0 zu setzen und nochmals manuell alles einzustellen.

  7. 7 Posted by Markus Olesch on 14 Dec, 2017 12:54 PM

    Markus Olesch's Avatar

    Hallo,
    ich habe den Code ebenfalls verwendet und er läuft auch gut. Vielen Dank erstmal dafür!
    Allerdings funktioniert die Sortierung bei mir nur mit Administrator-Rechten. Der Benutzer/Redakteur mit eingeschränkten Rechten kann keine Beiträge verschieben. Im ersten Moment sieht es aus als würde es klappen, aber dann springen die Beiträge beim Neuladen der Seite wieder zurück.
    Muss ich noch eine extra Einstellung für Redakteure machen, oder woran könnte das liegen?

  8. Support Staff 8 Posted by RockSolid Theme... on 14 Dec, 2017 01:39 PM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Frage.

    Bitte stellen Sie sicher, dass der Benutzer die Berechtigung hat die Beiträge zu bearbeiten. Falls der Fehler weiterhin auftritt, öffnen Sie bitte die JavaScript-Konsole des Browsers und überprüfen ob bei der Verschiebung eines Beitrags eine Fehlermeldung dort ausgegeben wird.

  9. 9 Posted by Markus Olesch on 14 Dec, 2017 02:59 PM

    Markus Olesch's Avatar

    Vielen Dank für die schnelle Rückmeldung!

    Der Benutzer hat über die Gruppenrechte die entsprechenden Archive freigeschaltet bekommen. Er darf Archive anlegen und löschen. Unter tl_news sind Titel, Datum, Unterüberschrift, Teasertext, Bild, Quelldatei, Großansicht. veröffentlichen, anzeigen ab/bis aktiviert. Hier kann ich auch nichts für die verschieben-Funktion entdecken.
    Ein JavaScript Fehler tritt nicht auf. Mit dem gleichen Browser und dem Admin User funktioniert es.
    Gut es noch eine andere Einstellung die gemacht werden muss?

  10. Support Staff 10 Posted by RockSolid Theme... on 15 Dec, 2017 08:33 AM

    RockSolid Themes's Avatar

    Wir konnten den Fehler nich reproduzieren.

    Welche Contao-Version setzen Sie ein?
    Tritt der Fehler auch auf, wenn die installierten Erweiterungen deaktiviert sind?

  11. 11 Posted by Steffen Richter on 27 Jan, 2018 12:45 PM

    Steffen Richter's Avatar

    Hallo,

    in der Version 4.5 kommt der Fehler.

    An exception occurred while executing 'SELECT * FROM tl_news WHERE pid='4' ORDER BY sorting LIMIT 0,30': SQLSTATE[42S22]: Column not found: 1054 Unknown column 'sorting' in 'order clause'

    Darf man Fragen welche Anpassungen man hier vornehmen muss?

    Danke!!

  12. Support Staff 12 Posted by RockSolid Theme... on 29 Jan, 2018 06:19 AM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Frage.

    Haben Sie nach den oben beschriebenen Anpassungen in der dcaconfig.php ein Datenbank-Update durchgeführt?

  13. 13 Posted by Steffen Richter on 29 Jan, 2018 06:59 PM

    Steffen Richter's Avatar

    Oje, ich bitte vielmals um Entschuldigung.

    Daran habe ich ich gar bicht gedacht... Es funktioniert.

    Vielen Dank!!!

  14. 14 Posted by Steffen Richter on 05 Apr, 2018 08:04 PM

    Steffen Richter's Avatar

    Hallo liebes Support Team.

    Wir habe den Code zur Sortierung eingespielt. Im backend kann man alles hin und her schieben.
    Leider hat dies keine Auswirkung auf das Frontend.

    Woran könnte das Liegen. Contao Version 4.5.6

    MFG

    Steffen Richter

  15. Support Staff 15 Posted by RockSolid Theme... on 06 Apr, 2018 07:14 AM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Frage.

    Haben Sie die oben erwähnten Anpassungen für die system/config/initconfig.php-Datei eingefügt?

  16. 16 Posted by Steffen Richter on 06 Apr, 2018 03:28 PM

    Steffen Richter's Avatar

    Hallo liebes Support Team,

    vielein vielen Dank für Eutren Hinweis, es lag an der initconfig.php, diese war fehlerhaft.

    Weiterhin solch tolle Arbeiten.

    MFG

    Steffen Richter

  17. 17 Posted by Steffen Richter on 26 Jun, 2018 06:23 PM

    Steffen Richter's Avatar

    Hallo sehr geehrte Support Team,
    wir mussten nach erfolgreicher Einbindung der manuellen Sortierung des Newsmodul feststellen, dass es nach einem Anlegen eines Redakteures Probleme gibt.

    Als Andmin kann ich die Einträge umsortieren. Wenn ich das auf Ebene das Redakteur versuche, habe ich das Problem, wenn man nach der Umsortierung aus den News bewege und dann wieder versuche weitere Umsortierungen vor zu nehme, dann sind die vorherigen Sortierungen hinfällig und stehen wieder in der alten Reihenfolge.

    Als Admin gibt es keinerlei Probleme.
    Wir können und dieses Verhalten nicht erklären.

    Hätten Sie einen Lösungsansatz?

  18. Support Staff 18 Posted by RockSolid Theme... on 27 Jun, 2018 05:14 AM

    RockSolid Themes's Avatar

    Das klingt nach einem Problem in der News-Erweiterung selbst. Wenden Sie sich damit am besten direkt an das Contao-Community-Forum.

  19. 19 Posted by Rene on 02 Aug, 2018 08:00 AM

    Rene's Avatar

    Funktioniert diese Methode auch zuverlässig unter Contao 4.4 / 4.5?

    Soweit mein Wissensstand ist sollte man die initconfig.php nicht mehr verwenden oder?

  20. Support Staff 20 Posted by RockSolid Theme... on 03 Aug, 2018 06:10 AM

    RockSolid Themes's Avatar

    Die initconfig.php funktioniert auch in Contao 4 noch weiterhin. Die empfohlene Alternative ist jedoch einen Service für den Hook zu erstellen:

    services:
      app.hook.news_custom_sort:
        class: 'App\Hook\NewsCustomSort'
        tags:
          - { name: 'contao.hook', hook: 'newsListFetchItems', method: 'newsListFetchItems'}
    

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac

Recent Discussions

18 Oct, 2018 03:06 PM
18 Oct, 2018 09:03 AM
18 Oct, 2018 08:58 AM
18 Oct, 2018 08:50 AM