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'
Es schein sich hierbei aber nicht um ein Contao Feature zu handeln, das die Probleme macht, sonder die Erweiterung efg.
Dank schee
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.