terminal42 / contao-changelanguage

ChangeLanguage is an extension for the Contao CMS which allows visitors to switch between different languages of your website.
43 stars 35 forks source link

On event detailpages Url counts auto_item more then one parameter #259

Open Ainschy opened 1 week ago

Ainschy commented 1 week ago

Contao 4.13.47

effected by 3.7.7 and 3.7.8

https://github.com/terminal42/contao-changelanguage/blob/6617862bc236d24c54aefa4b45519dd670741698/src/Navigation/UrlParameterBag.php#L140-L153

auto_item counts two keys events, item

3.7.6 and earlier versions have only events as key for auto_item

aschempp commented 1 week ago

auto_item counts two keys events, item

3.7.6 and earlier versions have only events as key for auto_item

könntest du das etwas genauer beschreiben?

Ainschy commented 1 week ago

Ok, ich habe es mir noch mal genauer angeschaut. Der Fehler tritt auf wenn ich die Erweiterung: https://github.com/iMi-digital/imi_mm_changelanguage mit installiert habe. Diese Erweiterung brauchen wir für die MetaModel Detaillseiten und sie verwendet den changelanguageNavigation-Hook.

Als Rückgabewert wird der key items übergeben, was bei MM korrekt ist, aber im Sprachwechsler nun anderes verarbeitet wird. https://github.com/iMi-digital/imi_mm_changelanguage/blob/0737f11b8f7dcdcafdf3aba478a72e2d94ec627d/contao/classes/ImiMMChangeLanguageObserver.php#L176

Sieht für mich nach einen BC Break im Hook aus?

Edit: Laut Beschreibung wird items als key erwartet: https://extensions.terminal42.ch/docs/changelanguage/en/developers/#rewriting-an-url-parameter

fritzmg commented 1 week ago

For events it needs to be events (in Contao 4.13). See https://github.com/contao/contao/blob/d7c1d5db44363bfc3eb7f838ee2d07217e12ebdf/calendar-bundle/src/Resources/contao/modules/ModuleEventReader.php#L58-L68