Search code examples
typo3extbasetypo3-10.x

Language syncronization in extbase repositories


Some of my extbase repositories need to be updated from external sources. The externally updated fields are untranslated (defined with 'l10n_mode' => 'exclude' in TCA). If I update the field inside the typo3 backend, the changes are copied to all translated records. But if I change the field in the repository and persist it with the persistence manager, then only the record in the original language is affected by the change. Did I miss some configuration to make extbase persist the changes of untranslateable fields?

The typo3 does the handling of translated records with the DataHandler. I cannot use it in my function, because the DataHandler only works in backend context.


Solution

  • It is correct that Extbase supports next to none of the features TYPO3 itself offers through its backend editing (using the DataHandler). So if you need to stick to the Extbase persistence no matter what you need to implement features like this yourself.

    For this reason you should consider External Import for import of data from external sources. Internally this package uses the DataHandler and thus benefits from all of its features including l10n synchronization.