Sprachdateien in OXID Modulen

Dass sich mit dem Release des OXID eShop 4.7/5.0 auch ein Großteil der Verzeichnisstruktur geändert hat, dürfte mittlerweile ja bekannt sein. 😉

Anfangs war es gar nicht möglich eigene Sprachdateien unterhalb von /modules/ zu nutzen. Dies wurde vor längerer Zeit schon geändert, sodass man diese unter

/modules/mymodule/out/admin/de/mymodule_lang.php

ablegen konnte. Dies war identisch zur Oxid-Standard-Struktur (out/admin/de). In OXID 4.7/5.0 liegen die template-spezifischen Sprachdateien nun in folgenden Verzeichnissen:

frontend: /application/views/azure/de/
backend: /application/views/admin/de/

Also kann man ja “eigentlich” auch davon ausgehen, dass auch bei den Modulen die gleiche Struktur verwendet wird. Leider ist dem nicht so. 🙁 Hier wird sogar unterschieden zwischen Frontend und Backend:

frontend: /modules/mymodule/translations/de/mymodule_lang.php
backend: /modules/mymodule/views/admin/de/mymodule_lang.php

Nur so werden die Sprachdateien auch richtig geladen. Übersichtlich ist das ganze aber nicht und verursacht nur Chaos. Für den Fallback ist übrigens noch der alte Code im Modul (z. B. out/admin/de) enthalten.

Im OXID Forum wurde dieses Thema schon ansatzweise behandelt. Wir haben auch einen Eintrag im OXID Bugtracker gemacht, jedoch sträubt man sich hier noch etwas dagegen 😉 …

Update für OXID >= 4.9.0

In der Version bis 4.8.x geht für das Backend nur

“mymodule/views/admin/de”

In der Version 4.9. geht

“mymodule/application/views/admin/de” oder
“mymodule/views/admin/de”

ABER:
wenn es das Verzeichnis

“mymodule/application/*”

gibt weil dort die Admin-Templates liegen, dann müssen dort auch die Lang-Dateien liegen!
Das gilt sowohl für das Backend als auch für das Frontend.

FAZIT:
es geht also NICHT mehr

“mymodule/application/views/admin/tpl”

in Kombination mit

“mymodule/views/admin/de/”.

Und wenn ein “modules/…/mymodule/application”-Order vorhanden ist, müssen die Frontend-Templates unter

“mymodule/application/translations/de”

 

usw. liegen (und nicht mehr direkt unter “modules/…./mymodule/translations/…”)!



0 Kommentare

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.