[TYPO3-german] TCA-Feld eigener Extension nicht anzeigen aber setzen

Uwe Thiemann thiemann.uwe at web.de
Fri Mar 6 07:35:13 CET 2015


Hallo Stefan,

vielen Dank für Deine Antwort. Der Grund für mein Anliegen ist, dass ich eine Typo3-Site für eine größere Einrichtung erstelle, der mehrere kleine untergeordnet sind. Jede dieser kleinen Einrichtungen soll einen eigenen News-Bereich erhalten, weshalb ich in der Datenbank mit Hilfe eines areaid-Feldes zwischen den einzelnen Einrichtungen unterscheiden muss (damit nicht die News von Einrichtung X auf der News-Seite von Einrichtung Y angezeigt wird).
Deshalb hatte ich in ext_tables.php das TCA-Feld areaid konfiguriert, dass es natürlich auch in der Datenbanktabelle gibt. Das Problem war nun, dass das Feld natürlich im Backend-Formular zum Anlegen eines neuen News-Datensatzes angezeigt wurde. Im TSConfig des jeweiligen Ordners hatte ich das Feld mit der richtigen Area-ID vorbelegt, sodass diese im Backend-Formular angezeigt wurde. Dort hätte sie aber vom Benutzer geändert werden können, was jedoch nicht passieren sollte. Ich hatte also versucht, das Feld mit den gängigen Methoden zu verstecken bzw. das Überschreiben des Wertes zu verhindern. Das Problem dann war, dass der Wert beim Speichern des Datensatzes nicht mehr in die Datenbank übernommen wurde.
Ich habe jetzt aber eine Lösung gefunden. Ich definiere das Feld in ext_tables.php mit Hilfe des Typs passthrough und verwende einen Hook in tcemain.php, um die Area-ID (die ich jetzt in den constants des jeweiligen Ordners definiere) nach dem Speichern des News-Datensatzes in diesem Datensatz zu setzen. Jetzt funktioniert es.
Danke und viele Grüße
Uwe


More information about the TYPO3-german mailing list