[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