Hallo,

ich habe folgendes Problem:
Mit Hilfe von Formhandler werden neue Einträge in die Tabelle Pages geschrieben, in verschiedene pid?s. Entscheidend ist der title der neuen Seite, daher habe ich key = title gesetzt und generiere key_value dynamisch aus der Eingabe im Formular. Innerhalb jeder pid darf der Seitentitle nur einmal vorkommen. Ist er schon vorhanden, soll der bestehende Eintrag nur überschrieben werden und ein neues cr_date erhalten. Die pid, in der der aktuelle Eintrag geschrieben werden soll, wird ebenfalls dynamisch generiert und ist sowohl als andWhere-Bedingung als auch im pid.mapping angegeben.

Ich nutze den Finisher_DB mit einer Kombination aus .updateInsteadOfInsert = 1 und insertIfNoUpdatePossible = 1

 * Fall1: Eine Seite mit dem gewählten Title existiert schon in der
   entsprechenden PID: Das Update wird Problemlos ausgeführt
 * Fall2: Eine Seite mit dem gewählten Title existiert im kompletten
   Seitenbaum noch nicht: Insert wird innerhalb der entsprechenden PID
   richtig ausgeführt, alles funktioniert wie es soll
 * Fall3: Eine Seite mit dem gewählten Title existiert bereits im
   Seitenbaum, aber nicht in der in der andWhere-bedingung vorgegebenen
   PID. Dies führt zu folgendem Fehler:
   Formhandler führt hier ein UPDATE statt einem INSERT aus. Ein Update
   ist aber nicht möglich, da die Seite in der pid aus  der
   andWhere-Bedingung nicht vorkommt. Die Folge: Die Seite wird nicht
   geschrieben.

Ich habe schon versucht, disableUpdateUidFallback = 1 zu setzen. Leider ohne Erfolg.

Hat jemand eine Idee, wie ich dieses Problem lösen kann?

Schon einmal vielen Dank!

Gruß
Susanne


_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an