我在 TYPO3 7.6 的 Hook 中有一个不正确的参数 id 值

I have an incorrect value of parameter id in a Hook of TYPO3 7.6

我想使用一个挂钩来改变在 TYPO3 后端创建记录时插入的值。为此,我需要更改数据库中的值,所以我应该有 id。我正在使用 function processDatamap_postProcessFieldArray ($status, $table, $id, &$fieldArray, &$reference){....},但 $id 没有通用值(43、67、87,...),值为 NEW589ce2522e406137033561,[=13 之后的值为=] 每次测试的变化。我不明白为什么要赋这个值。

我正在使用 TYPO3 7.6 和 PHP 5.6

当您创建新记录时会发生这种情况,它是它的临时唯一 ID。如果您想获取数值,可以尝试使用此代码。例如,我在 processDatamap_afterDatabaseOperations 挂钩

中使用它
$internalId = $id;

if (strpos($id, 'NEW') !== false) {
    $internalId = $reference->substNEWwithIDs[$id];
}

之后检查 $internalId 是否包含您想要的 ID