使用案例: 當保存一個對象(在後臺,也許前端太后)我想保存到數據庫之前,操作值。如何使用掛鉤「processDatamap_postProcFieldArray」在TYPO3 6.x中
問題: 文件似乎得到包括(顯示在保存,如果我選擇了錯誤的文件路徑錯誤),但功能似乎並不保存對象的要執行上。
有很多關於stackoverflow的how-tos(大部分是T4.5相關的)和相關的問題,但是他們都沒有爲我工作。
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';
UPADTED供參考:這最後線必須改變以解決問題
/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();
}
}
}
現狀: 保存時它不會崩潰或顯示任何東西,只是順手保存並忽略這個功能。
任何人都可以告訴我我在這裏失蹤了嗎?
如果你的擴展結構符合建議的默認值(所以在你的例子中,你的類將在'EXT:yourext/Classes/Hooks/GetGeoCodesHook.php'),你不需要指出鉤子的路徑所有這些都可以依靠自動加載。 – lorenz
感謝您的評論@lorenz – Hafenkranich