[TYPO3-german] Formhandler Problem mit insertIfNoUpdatePossible

Susanne sw1977 at online.de
Thu Jun 6 23:49:13 CEST 2013


Hallo Reinhard,

vielen Dank für den Tip, ich habe ihn sofort ausprobiert. Leider ohne 
Erfolg, es gibt immer noch den gleichen Effekt wie ich unter "Fall 3" 
beschrieben habe.
debug=1 zeigt mir, dass nach wie vor ein UPDATE versucht wird.

Als würde andWhere immer noch nicht berücksichtigt bei der Abfrage, ob 
der Datensatz existiert.
Seitencache- und Konfigurationscache habe ich geleert. Oder gibt es noch 
irgendwelche temp-, cache- oder ähnliche Dateien die ich löschen muss?

Hast du vielleicht noch eine Idee, woran der Fehler liegen könnte?

Vielen Dank auf jeden Fall schonmal für deine Hilfe und auf diesem Wege 
auch für die tolle Extension!

Gruß
Susanne


Am 06.06.2013 09:45, schrieb Reinhard Führicht:
> 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 
>
>



More information about the TYPO3-german mailing list