Contao-Camp 2024
Ergebnis 1 bis 10 von 10

Thema: News Manuelle Sortierung für Benutzergruppen

  1. #1
    Jayster
    Gast

    Standard News Manuelle Sortierung für Benutzergruppen

    Ich brauche für ein Projekt manuell sortierbare News. Dazu habe ich im DCA das Feld "sorting" hinzugefügt und das Frontend Modul entsprechend angepasst.

    Für Administratoren funktioniert die manuelle Sortierung auch schon. Für Benutzergruppen kommt es jedoch zu Problemen. Das Verschieben über das Icon ist möglich, wird aber meistens nicht gespeichert. Für die Fälle, in denen die Änderung nicht gespeichert werden kann, geben mir die Symfony Debug Tools folgende Fehlermeldung bei den AJAX Requests:
    "Not enough permissions to cut news item ID 4 to news archive ID 2."
    oder auch
    "Not enough permissions to cut news item ID 4 to news archive ID 5."

    Das ist sehr merkwürdig. Es gibt nur ein News Archiv und das hat die ID 1 (der Benutzer hat auch Zugriff darauf). Zudem will ich ja nicht Nachrichten von einem Archiv in das andere verschieben, sondern lediglich die Reihenfolge innerhalb des aktuellen Archivs ändern.

    Könnte das ein Bug sein oder weiß jemand Rat?

  2. #2
    Jayster
    Gast

    Standard

    Hier noch meine DCA Anpassung, mit der man die manuelle Sortierung im Backend erreicht.

    Datei "tl_news.php".

    PHP-Code:
    <?php

    // Modify sorting
    $GLOBALS['TL_DCA']['tl_news']['list']['sorting']['fields'] = ['sorting'];

    // Add field
    $GLOBALS['TL_DCA']['tl_news']['fields']['sorting'] = [
        
    'sql' => "int(10) unsigned NOT NULL default '0'",
    ];

  3. #3
    Jayster
    Gast

    Standard

    Ich habe hier einen Workaround gefunden, der das Problem zwar nicht löst aber für meinen Anwendungsfall ausreicht. Ich habe einfach die Rechteüberprüfung deaktiviert. Für mich reicht das, da es nur ein Newsarchiv gibt, auf das alle Nutzer Zugriff haben sollen. Daher habe ich beim "onload" Callback der news den Aufruf von "checkPermission" entfernt.

    PHP-Code:
    foreach ($GLOBALS['TL_DCA']['tl_news']['config']['onload_callback'] as $key => $callback) {
        if (
    in_array('checkPermission'$callback)) {
            unset(
    $GLOBALS['TL_DCA']['tl_news']['config']['onload_callback'][$key]);
            break;
        }

    Besonders schön finde ich das allerdings nicht. Ich habe das Gefühl, das Contao hier etwas falsch macht. Beim Sortieren sollte nicht versucht werden, die Elemente in andere Parent Elemente zu verschieben.

  4. #4
    Contao-Nutzer
    Registriert seit
    17.11.2010.
    Beiträge
    41

    Standard Manuelle Sortierung nur für Admins

    Hallo, die manuelle Sortierbarkeit der Newsbeiträge ist anwählbar, wird aber nur mit Admin-Rechten umgesetzt. Ist dieser Fehler inzwischen lösbar - ohne den hier beschriebenen Eingriff?

  5. #5
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von little_sister Beitrag anzeigen
    Hallo, die manuelle Sortierbarkeit der Newsbeiträge ist anwählbar, wird aber nur mit Admin-Rechten umgesetzt. Ist dieser Fehler inzwischen lösbar - ohne den hier beschriebenen Eingriff?
    Der fix steht hier als Pull Request zur Verfügung und kommt voraussichtlich mit Contao 4.4.21: https://github.com/contao/news-bundle/pull/38

  6. #6
    Contao-Nutzer
    Registriert seit
    17.11.2010.
    Beiträge
    41

    Standard

    Danke dir herzlich! Kriege es aber damit leider nicht hin. Bei mir steht in der tl_news.php nur
    <?php
    $GLOBALS['TL_DCA']['tl_news']['fields']['headline']['eval']['preserveTags'] = true;
    ?>
    das Symbol zum manuellen Sortieren gibt es bereits, aber es funktioniert eben nur beim Admin. Kannst du mir sagen, was genau ich tun müsste?
    Geändert von little_sister (07.07.2018 um 23:23 Uhr)

  7. #7
    Contao-Nutzer
    Registriert seit
    29.03.2020.
    Beiträge
    30

    Standard

    Zitat Zitat von Jayster Beitrag anzeigen
    Ich brauche für ein Projekt manuell sortierbare News. Dazu habe ich im DCA das Feld "sorting" hinzugefügt und das Frontend Modul entsprechend angepasst.

    Für Administratoren funktioniert die manuelle Sortierung auch schon. Für Benutzergruppen kommt es jedoch zu Problemen. Das Verschieben über das Icon ist möglich, wird aber meistens nicht gespeichert. Für die Fälle, in denen die Änderung nicht gespeichert werden kann, geben mir die Symfony Debug Tools folgende Fehlermeldung bei den AJAX Requests:
    "Not enough permissions to cut news item ID 4 to news archive ID 2."
    oder auch
    "Not enough permissions to cut news item ID 4 to news archive ID 5."

    Das ist sehr merkwürdig. Es gibt nur ein News Archiv und das hat die ID 1 (der Benutzer hat auch Zugriff darauf). Zudem will ich ja nicht Nachrichten von einem Archiv in das andere verschieben, sondern lediglich die Reihenfolge innerhalb des aktuellen Archivs ändern.

    Könnte das ein Bug sein oder weiß jemand Rat?
    Wie genau sieht denn die Anpassung des Moduls aus? Ich würde das auf einer meiner Seiten gerne verwenden und hab das im Backend wie hier beschrieben auch hinbekommen allerdings habe ich nun das Problem mit dem FrontEnd. Hat vielleicht jemand einen Tip, danke!

  8. #8
    Contao-Nutzer
    Registriert seit
    12.03.2010.
    Beiträge
    238

    Standard

    Hier ich habe da mal was gebaut ...
    Vielleicht hilfts
    https://github.com/olli-contao/contao-news-manual-sort

  9. #9
    Contao-Nutzer
    Registriert seit
    29.03.2020.
    Beiträge
    30

    Standard

    Vielen Dank!
    Das dürfte mir auf jeden Fall weiterhelfen, werde ich nachher direkt mal testen!

    Danke!

  10. #10
    Contao-Nutzer
    Registriert seit
    29.03.2020.
    Beiträge
    30

    Standard

    Zitat Zitat von Honig Beitrag anzeigen
    Hier ich habe da mal was gebaut ...
    Vielleicht hilfts
    https://github.com/olli-contao/contao-news-manual-sort
    Nochmals vielen Dank!
    Hab das nun mal eingespielt und in dem Modul kann ich jetzt auswählen wie sortiert werden soll.
    Allerdings habe ich jetzt nicht mehr die Möglichkeit in der Newsliste die News ensprechend zu sortieren, das icon ist nicht mehr vorhanden.
    Das Feld sorting ist aber korrekt angelegt, hab ich da noch etwas vergessen oder muss ich da noch etwas einstellen?
    Hatte vorher ja ohne weiteres funktioniert.

    Du hast übrigens in der Datei tl_module.php den öffnenden php Tag vergessen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •