We have created a forge ticket about those topic #90430 since months. But there is less response and we are not sure whether it’s unclear how to resolve that?
I hope we become clearness here.
The problem is described in ticket and I’ve made a test environment with ddev which can be easily downloaded and started to understand that problems. They are different database entries in the mm table depending on saving the data in backend.
In general the problem is that:
- Having bidirectional relations in translated data
- TCA for the relation field has setting l10n_mode=exclude to use the same relations in default language and translated data
- just one mm table is defined for both fields in TCA. On local and foreign side
- on saving data (with already existing or new added relation) on the local side in default langauge = everything is fine
- on saving data (with already existing or new added relation) on the foreign side in default langauge = missing relation in frontend on translated page, and on the page in default language translated values of the relation. I can fix that problem with just saving (without changes) the data of default language on the local side
- on saving translated data (with already existing or new added relation) on the local side = missing relation in frontend on translated page, and translated values of the relation on page in default language. I can’t fix that problem with just saving data of default language on the local side. There are two additional entries in the mm table for this relation. They are not removed after saving data.
My question: Why is that behaviour different? How should it be saved in the mm table? In uid_local always the uid from the default language data? Or in uid_foreign the uid from the default language or just the uid of translated data?
At the moment it’s totally unclear what is the correct kind of way to fix it.