2016-04-01 4 views
3

Beim Erstellen neuer Datenbank-Datensätze weist TYPO3 ihnen eine temporäre UID zu, die wie folgt aussieht: NEW56fe740dd5a455.64167468. Der Datensatz erhält seine tatsächliche UID, wenn er in die Datenbank eingefügt wird.Bekommen Sie einen neuen Datensatz im Hook-ProzessDatamap_afterDatabaseOperations

In dem obigen Hook ist der Datensatz bereits in die Datenbank eingefügt, so dass eine numerische UID zugewiesen wurde. Wie bekomme ich diese UID von einer bestimmten temporären UID?

Antwort

5

Ok, gefunden. Der vierte Parameter der Hook-Methode ist das Datahandler-Objekt, das eine Eigenschaft substNEWwithIDs hat, ein assoziatives Array, das temporäre UIDs den realen UIDs zuordnet.

Man kann es wie folgt verwenden:

public function processDatamap_afterDatabaseOperations($action, $table, $uid, $datahandler) 
{ 
    if (GeneralUtility::isFirstPartOfStr($uid, 'NEW')) { 
     $uid = $datahandler->substNEWwithIDs[$uid]; 
    } 

    // Do something with the UID 
} 
Verwandte Themen