Как использовать Hook & quot; processDatamap_postProcFieldArray & quot; в TYPO3 6.x

Случай использования:
При сохранении объекта (во внутреннем интерфейсе, может быть, во внешнем интерфейсе позже), я хочу манипулировать значениями перед сохранением в базу данных.

Проблема:
Файл, кажется, включен (показывает ошибку при сохранении, если я выбрал неправильный путь к файлу), но функция не выполняется при сохранении объекта.

Есть много практических рекомендаций (большинство из них относятся к T4.5) и связанных с ними вопросов по stackoverflow, но ни один из них, похоже, не работает для меня.

Environement:
TYPO3 6.2, Extbase

Минималистичный тестовый пример:

/ext/navolspmanager/ext_localconf.php

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] =
'EXT:navolspmanager/Classes/Hooks/GetGeoCodesHook.php:\NachVORNE\Navolspmanager\Hooks\GetGeoCodesHook';

ОБНОВЛЕНО для справки: Эта последняя строка должна была быть изменена, чтобы решить проблему

/ext/navolspmanager/Classes/Hooks/GetGeoCodesHook.php

<?php
namespace NachVORNE\Navolspmanager\Hooks;
class GetGeoCodesHook {
public function processDatamap_preProcessFieldArray( array $fieldArray, $table, $id, \TYPO3\CMS\Core\DataHandling\DataHandler &$pObj ) {
if ($table == 'tx_navolspmanager_domain_model_dataset') {
$fieldArray['geolng'] = 01.001; // for testing purposes
var_dump($fieldArray); die();
}
else{
var_dump($table); die();
}
}
}

Текущее состояние:
При сохранении он не вылетает и не показывает ничего, просто плавно сохраняет и игнорирует эту функцию.

Кто-нибудь может показать мне, что мне здесь не хватает?

2

Решение

Решено:

в моем ext_localconf.php в пространстве имен отсутствовал только ‘/’ …

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] =
'EXT:navolspmanager/Classes/Hooks/GetGeoCodesHook.php:\NachVORNE\Navolspmanager\Hooks\GetGeoCodesHook';

Улучшения:

При обновлении одного поля в соответствии с вводом другого пользователя мы должны использовать функцию ‘processDatamap_postProcessFieldArray’. Таким образом, обрезка, дата, число и т. Д. Уже сделаны в тот момент, когда мы вводим данные.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]