Ich möchte gern volgendes tun: bei anlegen von neuer Datensatz, d.H. wenn in mein
Extension auf "Save" gedruckt wird, sollte ein wert mit im Datenbank gespeichert
werden - z.B. ein MD5 checksum von einer Datei.
Ich habe allerdings nicht rausfinden können wie berechnungen und TCA
(ich nehme an, TCA.php ist richtiger Stelle zu suchen ?) sich kombinieren lassen.
Bei editierung der Datensatz sollte natürlich diese berechnung nochmals durchgeführt
werden.
Also, um zusammenzufassen. Ich will in mein Datenbank folgendes haben:
==========
uid
pid
timestamp
benutzer
note
filename
md5
==========
Ich kenne aber nicht den MD5 bis auf "Save" gedruckt wird.
Einige vorschläge ?
Ja:
TYPO3 Core APIs downloaden
https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/Index.html
dort nach displayCond suchen,
und dein Feld md5 bekommt den Feldtyp "User" samt zugehörigen User-Script (wird auch alles schön in der Core API erklärt)
Damit solltest du eigentlich recht schnellzum Ziel kommen.
Grüße
jenses
Danke für den Antwort.
Ich habe jetzt in Core Api gesucht, und habe gesehen daß displayCond dazu geignet ist ein Feld zu zeigen oder nicht. Aber den Zusammenhang mit userFunc kann ich nicht finden.
Ich will ja genau nicht ein Feld haben, nur ein Wert daß berechnet ist.
Ehnlich wie "postUserFunc" - ein userFunction daß aufgerufen wird, wenn auf "save" gedruckt wird.
Jedenfalls.. währe es möglich ein Beispiel zu geben wie ich daß erreichen kann ?
Danke im voraus.
Torben
Also, so gehts:
per displayCondition machst du die Sichtbarkeit von md5 davon abhängig,
daß deine anderen Felder bereits ausgefüllt wurden.
Wie das geht, steht in der Core API.
md5 bekommt Type:user, das ist auch sehr schön erklärt,
die Berechnung mußt du natürlich selber schreiben.
Und dann kannst du das angezeigt input-Feld auf readonly setzen,
so daß der Wert nicht geändert werden kann.
Aber eigentlich muß der md5 ja auch nicht angezeigt werden,
also läßt du die ganze HTML-Ausgabe weg.
Es gibt immer mehrere Möglichkeiten ...