-
Notifications
You must be signed in to change notification settings - Fork 78
Description
Expected behaviour
Child elements of containers use the tx_container_parent column to reference their parent container.
From what I understand, in connected mode it is expected that tx_container_parent always points to the default-language container, and not to the translated container - even for translated child elements.
I would like to confirm whether this is indeed the intended behaviour.
If so, what is the benefit of this design? Since the translated container already has an l18n_parent pointing back to the default-language container, it is not immediately clear why tx_container_parent must always reference the default language record as well.
Steps to reproduce / scenarios
In connected mode, I observe different outcomes depending on how the translated element is created. This difference in behaviour based on the creation steps should not exist in my opinion.
Case 1: tx_container_parent points to the translated container
This happens when the translated container does not yet exist.
Steps:
- Open the default-language container and choose “English [new]” from the language selector, or
- Translate the entire container using the “Translate” button on the page
Case 2: tx_container_parent points to the original language container
This happens when a translated version of the container already exists, and a new child element is created and translated afterwards.
Steps:
- Open the newly created child element in the default language and choose “English [new]” from the language selector, or
- Translate only that single child element using the “Translate” button on the page
Context
- I am using the t23_inline_container extension, which creates inline relations based on the tx_parent_container field.
- With this extension enabled, dbdoctor reports the relations from Case 2 as incorrect - even though they appear to be created intentionally by the container extension.
- This led me to discover the inconsistency described above.
- More generally, storing the default-language container ID in tx_container_parent for translated child elements feels like a problematic design decision, and I would like to better understand its purpose or implications.