Bug #38703
closedPublishing records with IRRE records -> lost relation
0%
Description
Within my own extension i have a record with an inline record (IRRE) which is versioning too.
Wether this relation is an MM or 1:n (comma separated) doesn't matter:
As soon as i publish my main record or even both records, the relation gets lost.
If i use MM relation, the uids within the MM table won't be updated.
If i use an 1:n relation the field containing the related uid is empty after publishing.
I tried to publish only the main record, i tried to publish both records, nothing works.
Files
Updated by Tizian Schmidlin over 12 years ago
An ugly but working workaround for this issue is the following:
t3lib/class.t3lib_tcemain.php, line 919:
$query = 'UPDATE _NAME OF YOUR IRRE FIELD_ SET pid=_ORIGINAL PID_ WHERE pid=-1 AND deleted = 0'; $GLOBALS['TYPO3_DB']->sql_query($query);
It could be packed into a separate class as a tcemain hook with the method "hook_processDatamap_afterDatabaseOperations", this would of course improve the readability masively.
Updated by Stephan Ude almost 12 years ago
- File patch_20121129_1.diff patch_20121129_1.diff added
The function t3lib_TCEmain::isReferenceField is causing this issue. It doesn't take care of inline types so they are not recognized as reference fields.
function isReferenceField($conf) { return ($conf['type'] == 'group' && $conf['internal_type'] == 'db' || $conf['type'] == 'select' && $conf['foreign_table']); }
The class t3lib_refindex has got the same function with nearly the same content, but it takes care of inline types.
function isReferenceField($conf) { return ($conf['type'] == 'group' && $conf['internal_type'] == 'db') || (($conf['type'] == 'select' || $conf['type'] == 'inline') && $conf['foreign_table']); }
Attached is a patch for the t3lib_TCEmain with whom the bug can be fixed. Though I'm not quite sure, if every usage of the function isReferenceField in t3lib_TCEmain is taking care of inline types as reference fields.
Updated by Michael Stucki almost 11 years ago
- Category changed from Bugs to Workspaces
Updated by Michael Stucki almost 11 years ago
- Project changed from 624 to TYPO3 Core
- Category changed from Workspaces to Workspaces
Updated by Oliver Hader over 10 years ago
- Status changed from New to Rejected
- Is Regression set to No