[TYPO3-german] Formhandler Problem mit insertIfNoUpdatePossible
Reinhard Führicht
fuehricht at gmx.at
Thu Jun 6 09:45:33 CEST 2013
Hallo Susanne
Am 05.06.2013 23:36, schrieb Susanne:
> 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
>
>
Kann es sein, dass es an diesem Bug liegt? [1]
Bis zur Version 1.6.0 hängt Finisher_DB das andWhere nicht an die
Abfrage ob der Datensatz bereits existiert.
Der Patch hier [2] sollte das beheben.
Viele Grüße,
Reinhard
[1] http://forge.typo3.org/issues/46502
[2]
http://forge.typo3.org/projects/extension-formhandler/repository/revisions/75391/diff/trunk/Classes/Finisher/Tx_Formhandler_Finisher_DB.php
--
--------------------------------
http://www.typo3-formhandler.com
--------------------------------
More information about the TYPO3-german
mailing list