Ergebnis 1 bis 3 von 3

Thema: Fehler - Ausgabemodul Listenansicht / Details keine Sortierung möglich Felder fehlen

  1. #1
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    191
    Partner-ID
    7698

    HTML Fehler - Ausgabemodul Listenansicht / Details keine Sortierung möglich Felder fehlen

    Hallo zusammen,
    ich habe ein recht umfangreiches Registrierungsformular erstellt, das viele Select und Checkboxen beinhaltet.

    Mir ist ein Fehler im Ausgabemodul für die Listenansicht und Details aufgefallen, in der plötzlich nur einige Felder sortiert werden können und angezeigt werden.

    Wenn ich alle Felder der Detailsseite anzeigen lassen will, wird mir nach dem speichern nur ein kleiner Teil angehakt angezeigt. Die Sortierung ist am Ende der angehakten Felder durcheinander. Der erste Teil passt.
    Habe dann eines der Checkbox-Menüs gelöscht, das ca. 12 Checkboxen beinhaltet. Nur eine Vermutung!

    Ein speichern des Formulars, Systemwartung und aufbauen des Cache hat keine Auswirkung auf das Modul.
    Habe mir den Export csv/xls angesehen und keine Fehler in den Feldern feststellen können.
    Auch die Ansicht der einzelnen Formular-Daten im BE schaut gut aus. Feldwerte werden nach der Änderung übernommen.
    Contao 3.2.3 und aktuelle Version vom efg (2.2.0 / Build 8)

    Ich vermute das sich in der DB etwas zerschossen hat!


    Habe eben hier in einem Beitrag noch gelesen, das man in der Formulareinstellung das speichern der Daten ausschalten soll, dann die Einstellung so speichern und dann wieder aktivieren. Werde ich am Montag mal testen.

    Habt ihr einen Tipp wie ich weiter vorgehen kann?

    Formular löschen alles neu anlegen wäre zwar möglich, ist aber durch das umfangreiches Registrierungsformular ein ziemlicher Zeitaufwand den ich mir ersparen wollte.

    Viele Grüße

    Markus
    Geändert von mschindler (11.01.2014 um 05:16 Uhr)
    Contao Partner aus Rosenheim und München
    codesache.de
    ---
    Mitglied der Contao Community Bayern
    Aktuelle Termine zur Contao Community Bayern: contao-bayern.de

  2. #2
    Contao-Fan Avatar von tom
    Registriert seit
    16.06.2009.
    Ort
    Ludwigsburg
    Beiträge
    385

    Standard

    Hallo Markus,

    die Ursache ist, dass aufgrund der Länge des Datenbankfeldes in den Moduleinstellungen die Auswahl der anzuzeigenden Felder (Liste/Details) nicht komplett gespeichert werden kann.

    Infos zu diesem Thema gab es bereits mehrfach, z.B. hier:
    https://community.contao.org/de/show...hlight=listing
    https://community.contao.org/de/show...lder-w%E4hlbar

    Nochmals erläutert:
    EFG nutzt einige Modul-Einstellungen, die vom Core-Modul "Auflistung" bereitgestellt werden. Deren Feldlänge ist auf 255 Zeichen begrenzt, sodass bei sehr vielen Formularfeldern (oder Formularfeldern mit langen Feldnamen) die Auswahl nicht komplett gespeichert werden kann.

    Zwar überschreibt EFG die SQL-Definition der Datenbankfelder, da aber die Konfiguration des Moduls 'listing' ("Auflistung") nach 'efg' geladen wird, greifen die Definitionen des 'listing'-Moduls (sofern dieses nicht in den Systemeinstellungen als "inaktiv" gesetzt ist).

    Es gibt nun zwei Möglichkeiten, die Feldlänge zu überschreiben:

    a) in einer config.php eines Moduls-Verzeichnisses, das (wichtig) nach 'listing' geladen wird (wie in o.g. Thread beschrieben)

    b) (ab Contao 3 möglich) Eintrag der gewünschten/erforderlichen SQL-Felddefinition in der dcaconfig (system/config/dcaconfig.php).
    Es empfiehlt sich allerdings, nur diejenigen Felder anzupassen, bei denen tatsächlich längere Eingaben/Werte benötigt werden.
    Anstelle von "text NULL" (für quasi unbegrenzte Länge) evtl. auch ein "varchar(255) NOT NULL default ''" mit der benötigten/sinnvollen Länge anstelle von 255.

    Die möglichen/erforderlichen Einträge in der dcaconfig wären:
    PHP-Code:
    // Datenbankfeld für Auswahl der anzuzeigenden/aufzulistenden Felder
    $GLOBALS['TL_DCA']['tl_module']['fields']['list_fields']['sql'] = "text NULL";

    // Datenbankfeld für "Felder der Detailseite"
    $GLOBALS['TL_DCA']['tl_module']['fields']['list_info']['sql'] = "text NULL";

    // Datenbankfeld für "Durchsuchbare Felder"
    $GLOBALS['TL_DCA']['tl_module']['fields']['list_search']['sql'] = "text NULL";

    // Datenbankfeld für "Bedingung"
    $GLOBALS['TL_DCA']['tl_module']['fields']['list_where']['sql'] = "text NULL";

    // Datenbankfeld für "Sortierung"
    $GLOBALS['TL_DCA']['tl_module']['fields']['list_sort']['sql'] = "text NULL"
    Nach Ergänzung der Einträge in der dcaconfig dann "Erweiterungsverwaltung" -> "Datenbank aktualisieren" nicht vergessen.
    Diese Änderung der Felder kann ohne Datenverlust vorgenommen werden.
    Anschließend müssen allerdings die Einstellungen des Auflistungsmoduls nochmal gespeichert werden.

    Schöne Grüße
    Tom

  3. #3
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    191
    Partner-ID
    7698

    Standard Es funktioniert!

    Hallo Tom,
    Vielen lieben Dank für die Info und die Links zu den Beiträgen.

    Ich habe es eben über die dcaconfig.php gelöst, da die ganzen Änderungen an den Feldnamen zu umfangreich wären,
    und der Export die Lesbarkeit der Spaltenbezeichner nicht verständlich wäre wenn ich die alle zusammen stauche.

    Viele Grüße

    Markus
    Contao Partner aus Rosenheim und München
    codesache.de
    ---
    Mitglied der Contao Community Bayern
    Aktuelle Termine zur Contao Community Bayern: contao-bayern.de

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
  •