There should be something like "setFileReference" at present, but I cannot find it in the API http://typo3.org/api/typo3cms/class_t_y_p_o3_1_1_c_m_s_1_1_core_1_1_resource_1_1_file_reference.html
Well, you can use the following script as a workaround that uses the datamap process to create file links.
$sys_file_uid = $file->getUid(); $tt_content_uid = 42; $tt_content_pid = 1337; // Do not directly insert a record into sys_file_reference, as this bypasses all sanity checks and automatic updates done! $data = array(); $data['sys_file_reference']['NEW' . $sys_file_uid] = array( 'uid_local' => $sys_file_uid, 'table_local' => 'sys_file', 'uid_foreign' => $tt_content_uid, 'tablenames' => 'tt_content', 'fieldname' => 'image', 'pid' => $tt_content_pid, ); $data['tt_content'][$tt_content_uid] = array('image' => 'NEW' . $sys_file_uid); $tce = t3lib_div::makeInstance('t3lib_TCEmain'); // create TCE instance $tce->start($data, array()); $tce->process_datamap(); if ($tce->errorLog) { // Error - Reference not created // t3lib_utility_Debug::viewArray($tce->errorLog); } else { // Success - Reference created }
pixelbrackets
source share