Ergebnis 1 bis 18 von 18

Thema: Auflistung Formular-Daten ERROR

  1. #1
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard Auflistung Formular-Daten ERROR

    Hi zusammen

    Ich habe ein Formular erstellt, in welches mittels "calendarfield" ein gewünschtes Datum (NICHT gleich Erstelldatum!) eingetragen werden kann (Feldname: my_date)

    Nun möchte ich die Daten auflisten und nach dem Datum sortieren.
    Ich habe also ein Modul "Auflistung Formular-Daten" erstellt, in welchem ich das "Sortieren nach" mit "my_date asc" befüllt habe.

    Bei der Darstellung kommt es aber zu einem Fehler!

    Ich habe festgestellt, dass der Fehler nur auftritt, wenn ich unter "Felder" dieses Feld aktiviert habe, wenn es also AUCH dargestellt werden soll.

    Wieso kann ich nicht nach "my_date" sortieren und gleichzeitig dieses Feld auch in meiner Auflistung drin haben??

  2. #2
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.337
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Was ist denn das für ein Fehler?

  3. #3
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    PHP Fatal error: Uncaught exception 'Exception' with message 'Query error: Unknown column 'my_date' in 'order clause'

    Mir aber völlig schleierhaft, weil es mit allen anderen Spalten geht, nur eben nicht mit dem Datum.

  4. #4
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.337
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Weil die anderen Tabellenspalten existieren und diese eben nicht.

    Ich würde mal schauen, ob sichergestellt ist, dass die betreffende Spalte existiert, wenn Du schon Daten darin speichern möchtest. Ggf. musst selbst dafür sorgen (via PHPmyAdmin).

    Carolina.

  5. #5
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    Habe nachgeschaut, Tabelle ist soweit intakt.

    Ich versuche es, nochmals zu schildern:

    1. Anlegen eines (Geburtstags-)Formulars mit den zwei Feldern:
    [Textfeld] - Name (my_name)
    [Kalenderfeld] - Geburtsdatum (my_birthdate)

    Nun kann ich soviele Geburtstage anlegen, wie ich lustig bin

    2. Auflistung Formular-Daten
    Ich kann alle Daten schön auflisten. Ich selektiere die Felder "my_date" und "my_birthdate". Die gleichen Felder markiere ich auch für die Detailansicht

    Wenn ich jetzt zum sortieren auf die "Spaltenüberschrift" klicke, kann ich auch nach Geburtsdatum anordnen, ebenfalls nach Name. Soweit prima

    Aber wenn ich jetzt im Modul "Auflistung" eine vordefinierte Sortierung vornehmen will, geht das nur mit dem Namen. Sobald ich standardmässig nach dem Geburtsdatum anordnen will, erscheint die Fehlermeldung :/

    Irgendwo liegt da eben der Hund begraben. Weiss echt nicht mehr weiter

  6. #6
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Mmh, benutzt du wirklich das Modul Auflistung Formular-Daten? EFG erzeugt nämlich keine Felder in der DB mit dem Feldnamen der Felder. Bist du sicher, dass in tl_form_field die Spalte my_date existiert? my_date müsste eigentlich als Wert in der Spalte name auftauchen.

    Gruß Andreas
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  7. #7
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    Ja, ich verwende die Funktion "Auflistung Formular-Daten". Das Formular habe ich mit EFG erstellt. Und soweit funktioniert auch alles. Ich kann nach allen Feldern sortieren, die ich will. Nur eben nicht nach diesem Datum-Feld, dass ich im Formular mit "calendarfield" erstellt habe. Wie gesagt, speichern und alles funktioniert, ich kann die Auflistung auch nach "Datum" sortieren, wenn ich bei der Auflistung "list_fd_default" auf die Spalten-Überschrift klicke!

    Aber sobald ich im Modul "Sortieren nach: Datum" definiere, klappts nicht mehr. Mit allen anderen Feldern ists machbar.

    Ich werde um Rat meines Bruders bitten, weil er da viel viel mehr versteht als ich und wenn ich dann weiss, woran es liegt, werde ich es hier posten. (obwohl ich, wie mir scheint, der einzige bin, der Probleme hat

    Grüsse
    Jan

  8. #8
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    Manchmal spielt es verrückt, und irgendwie hab ichs geschafft.

    Mit diesem vorgehen konnte ich den Fehler beseitigen:

    1. Im Formular habe ich das Feld, welches als "Kalenderfeld" erstellt wurde, auf ein normales "Textfeld" umgestellt und ohne Eingabeprüfung erstellt. Feldname wurde bei "my_date" belassen.

    2. Formular neu gespeichert.

    3. Im Modul habe ich jetzt nach "my_date asc" sortiert. Funktionierte nun, da es das Textfeld ja sowieso immer richtig interpretieren konnte.
    "Sortieren nach: my_date asc" unbedingt stehen lassen.

    4. Wieder zurück ins Formular, und das "Textfeld" wieder umgewandelt in "Kalenderfeld"

    Und siehe da, Sortierung funktioniert.

    Trotzdem scheint da irgendwo ein Fehler zu bestehen, bzw. ein ungelöster Konflikt mit "calendarfield"

    Grüsse
    Jan

  9. #9
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich hatte das eben nachgestellt und getestet, kann ich nicht bestätigen, funktionierte bei mir auf Anhieb. Übrigens brauchst du 'my_date asc' nicht einzutragen, 'my_date' reicht, da die Standardsortierung 'ASC' ist.

    Gruß Andreas
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  10. #10
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    Ich komme der Sache wieder ein bisschen näher.

    Und zwar funktioniert es nicht, sobald ich im Formular beim Datum eine Eingabeprüfung mache!
    Textfeld mit Eingabeprüfung "Datum", und schon funktionierts nicht mehr

    Finde ich komisch, dass es bei mir nicht will, und bei dir auf Anhieb funktioniert

  11. #11
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    @Andreas

    Wäre super, wenn du das nachvollziehen könntest!?
    Bei mir scheint es wirklich daran zu scheitern, dass ich die Eingabeprüfung "Datum" aktiviere!

    Wenn ich keine Eingabeprüfung vornehme, funktioniert alles wunderbar.
    Wenn ich aber auf Eingabeprüfung "Datum" prüfe, danach das Formular speichere (!) (sonst werden Einstellungen nicht in Tabelle übernommen), funktionierts nicht mehr

  12. #12
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, ich hatte die Eingabeprüfung erst gar nicht gesetzt, weil ich da sowas im Hinterkopf hatte. Ich denke mit dem Datepicker brauchst du die Prüfung auch nicht.

    Letztens hatten wir da sowas hier im Forum, da ging es darum, dass das Datum als Unix-Timestamp in die DB gespeichert wird, und ich meine mich zu erinnern, dass es nur als Timestamp geschrieben wird, wenn man die Prüfung deaktiviert.

    Gruß Andreas
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  13. #13
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    Ja das stimmt, mit "calendarfield" (also datepicker) brauche ich keine Eingabeprüfung machen, damit es als timestamp in die DB geschrieben wird.

    Aber die Darstellung funktioniert dann trotzdem nicht und ich bekomme die Fehlermeldung, dass die column my_date nicht existiert

  14. #14
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das gibt es doch gar nicht, es ist klar, dass die Spalte my_date nicht existiert, sie muss auch nicht existieren. Sieh mal in deine DB, für die anderen Felder bestehen auch keine Spalten. Wie schon gesagt, der Feldname 'my_date' steht in Tabelle 'tl_form_field' Spalte 'name'. Womit wir wieder beim Anfang wären, warum will dein Modul 'Auflistung Formular-Daten' auf diese Spalte zugreifen? Und bei mir nicht.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  15. #15
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    Das frag ich mich auch

    Also wenn es bei dir funktioniert, selbst mit der Eingabeprüfung "Datum", dann ist wohl irgendwas mit meinem System nicht in Ordnung

    Hatte eigentlich gehofft, dass das Problem schnell lösbar ist.

    Naja, jedenfalls herzlichen Dank für deine Hilfe.

  16. #16
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    Also, ich habe contao nochmals von vorne auf einem zweiten Server "installiert".

    Ergebnis: Es funktioniert NICHT!

    Darum meine Frage:
    Weiss jemand, wie dieser Fehler behoben werden kann?



    Der Fehler ist eigentlich recht simpel zu provozieren:

    1. Mit dem EFG ein Formular erstellen (Daten im Modul "Formular-Daten" speichern AKTIVIEREN)

    2. Im Formular ein Textfeld erstellen
    Textfeld: my_birthdate (WICHTIG: Eingabeprüfung "Datum" definieren)

    3. Im Formular ein Textfeld erstellen
    Textfeld: my_name (ohne Eingabeprüfung)

    4. Im Formular Absendefeld erstellen.

    5. Modul erstellen
    Auflistung Formular-Daten
    soeben erstelltes "Formular" auswählen
    Bei "Felder" und "Felder der Detailseite" jeweils my_birthdate und my_name AKTIVIEREN

    Jetzt kommts:
    Bei "Sortieren nach" my_name eintragen, und alles funktioniert einwandfrei!
    Bei "Sortieren nach" my_birthdate eintragen, und ERROR MELDUNG erscheint.



    Wäre wirklich toll, wenn jemand den Grund für den Fehler erkennen könnte.

    Grüsse

  17. #17
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    Ich habe, ohne Ahnung zu haben, ein bisschen rumgebastelt. Und bis jetzt funktioniert es

    Kann mir jemand sagen, was ich angestellt habe?

    Ich habe in der Datei "efg -> dca -> fd_formular.php" folgendes abgeändert:

    Code:
    $GLOBALS['TL_DCA']['tl_formdata']['fields']['event_date']['eval']['rgxp'] = 'date';
    ...zu...
    Code:
    $GLOBALS['TL_DCA']['tl_formdata']['fields']['event_date']['eval'];
    also habe einfach den hinteren Teil entfernt. Was habe ich damit angestellt?

    Grüsse
    Jan

  18. #18
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du scheinst hier einiges durcheinander zu bringen. Am Anfang des Threads sprachst du noch von einem Feld von calendarfield. Das Feld von calendarfield bietet die Option 'Eingabeprüfung' überhaupt nicht.

    Was du da jetzt gemacht hast, kann damit eigentlich nichts zu tun haben, du hast nur eine Variable in den Code geschrieben. Ohne Ausgabe und Bearbeitung. Wenn, dann hättest du z.B. schreiben müssen.
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_formdata']['fields']['event_date']['eval']['rgxp']  = ''
    Damit hättest du die default Eingabeüperprüfung auf nichts gesetzt. Das Feld event_date gibt es aber nicht mehr in der Tabelle tl_formdata. Die Datei fd_formular.php ist im efg auch nicht mehr vorhanden.

    Wenn du Änderungen machst, solltest du sowas, wenn überhaupt, in die dcaconfig.php im Ordner system/config schreiben, damit es updatesicher ist.

    Gruß Andreas
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

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
  •