Inconsistencies in sys_language_uid of parent and child elements
I had a problem where some elements were displayed in the frontend, but not visible in the backend (page module). This only occurred on translated pages.
The problem could be narrowed down to inconsistencies in a language, for example:
gridelement (sys_language_uid=1)
|
-> gridelement (sys_language_uid=0)
|
-> textmedia (sys_language_uid=0)
If the sys_language_uid is set to 1 for the children of a gridelement with sys_language_uid=1 (recursively), the problem seems to be solved.
Obviously, this shouldn't happen.
Before I proceed and try to track down the problem, is this something that is already known and might be fixed?
This is a system that has been running on previous TYPO3 versions and was continuously updated.
DB query
If this gives any results, there are inconsistencies
SELECT tt1.uid,tt1.pid,tt1.list_type,tt1.ctype,tt1.header,tt1.sys_language_uid,tt2.uid,tt2.header,tt2.sys_language_uid
FROM tt_content tt1,tt_content tt2
WHERE NOT tt1.hidden
AND NOT tt1.deleted
AND tt1.tx_gridelements_container != 0
AND tt1.tx_gridelements_container = tt2.uid
AND tt1.sys_language_uid != tt2.sys_language_uid
ORDER BY tt1.uid;
System
- TYPO3 8.7.24
- gridelements 8.3.0
Reproduce
- in default language, copy a gridelement with children
- insert in other language
copied child elements do not get the new sys_language_uid.
I don't know if this is how the inconsistencies got created, but you can reproduce the problem this way. It is reproducible with 8.3.0 and also with the latest version 8.51 of gridelements.