[TYPO3-german] Formhandler: pid lässt sich nicht ändern

Michael Oehlhof typo3 at oehlhof.de
Fri Apr 1 15:23:15 CEST 2011


Reinhard Führicht schrieb:
> Am 2011-04-01 01:07, schrieb Michael Oehlhof:
>> Ich habe eine Seite mit einem Formular und rufe das Formular von
>> verschiedenen Seiten aus auf.
>> Die pid der "Startseite" reiche ich als post Variable an das Formular.
>> In dem gespeicherten Datensatz wird sie auch abgelegt.
>> Aber der Datensatz wird auf der Seite mit dem Formular angelegt und
>> nicht auf der "Startseite" von der aus die Formularseite aufgerufen wird.
>> In der Doku liest man:
>> pid {
>> mapping = TEXT
>> mapping.data = TSFE:id
>> }
>> Wenn ich stattdessen:
>> pid {
>> mapping = TEXT
>> mapping.data = GP:startpid
>> }
>> übergebe (startpid ist die per Post übergebene pid) wird trotzdem nicht
>> unter dieser pid abgelegt.
>> Auch die direkte Angabe von:
>> pid = 123
>> legt die Daten nicht auf der Seite 123 ab, sondern auf der Seite des
>> Formulars.
>> Auch mit
>> pid.mapping = startpid
>> ändert sich nichts.
>>
>> Hat jemand eine Idee wie man den Finisher_DB dazu bekommt den Datensatz
>> nicht auf der Seite des Formulars abzulegen?
>> Wie kann ich die pid vorgeben?
>>
>> Grüße
>> Michael
> 
> Hallo Michael,
> 
> 
> pid {
>  mapping = TEXT
>  mapping.data = GP:startpid
> }
> 
> funktioniert nicht, weil Formhandler NUR auf interne GET/POST-Werte 
> zugreift, also solche, die über das Formular übertragen wurden.
> Du kannst die PID als hidden-Feld im Formular übertragen und dann mit 
> GP:prefix|startpid darauf zugreifen oder einfach mit
> 
> pid.mapping = startpid
> 
> Um die PID ins hidden-Feld zu bekommen, brauchst du den 
> PreProcessor_LoadDefaultValues.
> 
> pid = 123
> 
> Sollte eigentlich problemlos funktionieren, zumindest wenn ich mir den 
> Code im Finisher_DB anschaue. Verwendest du die Version aus dem TER oder 
> aus dem SVN?
> 
> Viele Grüße,
> Reinhard

In meinem Formular steht:
	<input type="hidden" name="startpid" id="startpid" 
value="###startpid###" />

Wenn ich den Quelltext im FE anschaue steht dort als value 357 drin, 
also die pid der Seite von der ich auf die Formularseite (392) gekommen 
bin. Und die ich gerne als pid eintragen möchte.

Die sollte doch dann beim Abschicken des Formulars mit übertragen werden.

pid.mapping = startpid
funktioniert nicht, der Datensatz landet auf der Formularseite (392)

Version war 0.9.7, habe auf 0.9.12 upgedatet. Keine Änderung.
Ist eine Produktive Seite mit TYPO3 4.3.x


Viele Grüße
Michael


More information about the TYPO3-german mailing list