Skip to content

Why do translated entities have the ID of the translation?? #69

@Defcon0

Description

@Defcon0

Hello,

currently we have a struggle because of the following change added in v4:

bbee4ad#diff-56e9eeb0a83d5059b7bccbea1878371bR112

In v3 the id always stayed the id of the original record. If in another context, only the translated values have been joined into the record.

Not the id gets overridden, too. This way I can't have the same code for all languages but always have to check if I'm having a translated record now :-( Even in modules which don't have any dependency to DC_Multilingual and don't know a field langPid for example.

Now I have issues in a module which adds an event registration function to contao and for example checks if a correct code is available for the current event. In English language it now of course (dc_multilingual 4) can't find the correct codes because the id mismatches.

The consequence is that I need to write special code in my module (which in fact hadn't even need to know if the entity is translated in dc_multilingual v3).

I can remember the reason for the change was that the id of the translation was not in the record data after the join has taken place. I understand that. But wouldn't have been better to add a new attribute like translationId?

Of course I know this would be another BC Break, but in fact this particular change in v4 makes it very hard to use it and I don't want to override the functionality in a custom Multilingual class.

Thanks in advance.

Bye Defcon0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions