Umbenennen von Formularfeldern in Contao

Wenn Sie im Contao Formulargenerator die Namen von Feldern umbenennen, sind die bisher abgesendeten Formulardaten im Contao Backend nicht mehr sichtbar. Es gibt eine Einfache Lösung, die direkt in der Datenbank umgesetzt wird und weniger als 1 Minute Arbeit in Anspruch nimmt.

Lesedauer: 2 Minuten
17 x gelesen
200 x gesehen

Problem

Wir wollten eine gewisse Einheitlichkeit haben und haben im Formulargenerator von Contao alle Deutschen Feldnamen in Englische Feldnamen umbenannt. Dadurch hat sich z.B. das Feld "firmenname" zu "company" geändert.

Infolge dessen wurden die Formulardaten von bereits bestehenden Einträgen im Contao Backend nicht mehr vollständig dargestellt.

Das Problem tritt bis einschließlich Contao 3.4.4 auf. Über die zukünftige Situation können wir aktuell natürlich keine Auskunft geben.

Lösung

In der Datenbank-Tabelle tl_formdata_details müssen die alten (falschen) Feldnamen in die neuen umbenannt werden. Die Werte in der Spalte ff_name stellen die Feldnamen dar.

Unsere Lösung gilt nicht für den Fall, wenn Sie mehrere Formulare mit gleichen Feldnamen verwenden und die Änderungen nur für ein bestimmtes Formular gelten soll.

In unserem Fall sollen die Feldnamen in allen Formularen geändert werden.

Bevor Sie die SQL-Abfrage direkt in PHPMyAdmin ausführen lassen, fertigen Sie eine Sicherung der Datenbank-Tabelle tl_formdata_details an. Dennoch ist die Verwendung des SQL-Codes auf eigene Gefahr und ohne Gewähr!

Beispiel-Code

UPDATE `tl_formdata_details` SET ff_name = 'company' WHERE ff_name = 'firmenname'

Erklärung dazu:

Alle Felder, die den Namen "firmenname" haben, sollen in "company" umbenannt werden.

Optimale Lösung

Wenn Sie viele Formulare verwenden und sowieso alle Felder mit dem gleichen Namen umbenennen wollen, können Sie zusätzlich die Felder im Formulargenerator umbenennen lassen. Bevor Sie die SQL-Abfrage direkt in PHPMyAdmin ausführen lassen, fertigen Sie eine Sicherung der Datenbank-Tabelle tl_form_field an.

Beispiel-Code

UPDATE `tl_form_field` SET name = 'company' WHERE name = 'firmenname'
Artikelbewertung
5,0 von 5 Sternen (1 Stimme)
Sie können diesen Artikel bewerten indem Sie einen Kommentar abgeben.
Schlagwörter
Kommentare & Bewertungen
Von Contao Papst am

Es schein sich hierbei aber nicht um ein Contao Feature zu handeln, das die Probleme macht, sonder die Erweiterung efg.

Von Axel am

Dank schee

Einen Kommentar schreiben
Bewerten Sie diesen Artikel
Datenschutz*
Bitte addieren Sie 8 und 9.
Ähnliche Beiträge
Meistgelesene Beiträge

Diese Artikel wurden bisher am häufigsten gelesen (Zähler seit 13.11.2021)

Newsletter Anmeldung

Wir versenden nur informative und relevante Inhalte, höchstens einmal im Monat.

Bitte addieren Sie 8 und 9.
Datenschutzerklärung
Weitere Newsletter-Einstellungen