2017-02-09 14 views
0

Я хочу использовать Крюк для значений изменений, вставленных путем создания записи в Backend of TYPO3. Для этого мне нужно изменить значение в базе данных, поэтому у меня должен быть идентификатор. Я использую function processDatamap_postProcessFieldArray ($status, $table, $id, &$fieldArray, &$reference){....}, но $id не имеет общего значения (43, 67, 87, ...) значение равно NEW589ce2522e406137033561, а значение после слова NEW изменяется в каждом тесте. Я не понимаю, почему он присваивает это значение.У меня неправильное значение параметра id в Hook TYPO3 7.6

Я использую TYPO3 7.6 с PHP 5.6

ответ

2

Это происходит, когда вы создаете новую запись, и это является его временным уникальным идентификатором. Если вы хотите получить числовое значение, вы можете попробовать использовать этот код. Я использую его, например, в processDatamap_afterDatabaseOperations крючок

$internalId = $id; 

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

После этого проверки, если $internalId содержит идентификатор, который вы хотите

+0

Спасибо! Я больше понимаю функциональность Крюков –