[TYPO3-german] Formhandler: pid lässt sich nicht ändern
Reinhard Führicht
rf at typoheads.at
Fri Apr 1 10:18:19 CEST 2011
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
More information about the TYPO3-german
mailing list