EXT:formhandler – Use uid of last inserted id in email

Task

Create an E-Mail with a link to the inserted record

Problem

According to the documentation this should work:

###value_saveDB|tablename|field###

And it works for “normal” db fields like “username”:

###value_saveDB|fe_users|username###

But it doesn’t work for “special” db fields like “uid”

###value_saveDB|fe_users|uid###

Cause

The function “process()” in /typo3conf/ext/formhandler/Classes/Finisher/Tx_Formhandler_Finisher_DB.php
Creates this array. The key “uid” is not set in $this->gp[‘saveDB’][‘feusers’].

$this->gp['saveDB'] => Array (

 [0] => Array (
           [table] =>feusers
           [uid] => 78
           [uidField] => uid
           )
[feusers] => Array (
           [pid] => 615
           ...
           )

)

Solution

None/Rewrite of sourcecode of /typo3conf/ext/formhandler/Classes/Finisher/Tx_Formhandler_Finisher_DB.php::process()

Workaround

Use “0” (zero) instead of Tablename “feusers”
###value_saveDB|0|uid###