Wie komme ich an die "Title" der in "Zusammenfassung" installierten "MODULE_ORDER_TOTAL_xxx", also z.B. von "MODULE_ORDER_TOTAL_TOTAL_NETTO_STATUS"? Vor allen, wenn der User diese Titel geändert hat?
Hallo, das kann man so halbwegs in includes/classes/order_total.php abgucken: PHP: $coo_lang_file_master = MainFactory::create_object('LanguageTextManager', array(), true);$coo_lang_file_master->init_from_lang_file('lang/' . $_SESSION['language'] . '/modules/order_total/' . $value); Also in deinem Beispiel: PHP: $value = 'ot_total_netto.php';$coo_lang_file_master = MainFactory::create_object('LanguageTextManager', array(), true);$coo_lang_file_master->init_from_lang_file('lang/' . $_SESSION['language'] . '/modules/order_total/' . $value);$totalNettoTitle = MODULE_ORDER_TOTAL_TOTAL_NETTO_TITLE; Der LanguageTextManager holt die Daten aus der „richtigen“ Quelle. Die Verwendung des LanguageTextManager ist wichtig, das sich die Datenquelle(n) in Zukunft ändern können und werden.
Dass das Sprachsystem noch einmal gründlich überarbeitet wird, hatten wir hier im Forum schon mal irgendwo angeschnitten. Sorgen? Nein. Ein bisschen Vorfreude würde ich aber als angemessen erachten. So lange man Texte vom LanguageTextManager holt, ist alles in Ordnung. Das ist die definierte Abstraktionsschicht.
Gambio sollte sich m.E. da mal dringend mit den leuten unterhalten, die sich mit dieser Thematik auseinandergesetzs haben, Und nicht nur wieder am grünen Tisch was designen.
Wer bisher mit Sprachdateien gearbeitet hat, wird zu 2.3.1 gar keinen großen Unterschied feststellen. Alte Sprachdateien (Sprachkonstanten) werden in 2.3 weiterhin unterstützt. Hier ändert sich gar nichts. Wer section-Dateien zum Überladen genutzt hat, wird diese nicht mehr im sections-Ordner ablegen, sondern im Verzeichnis user_sections. Sprich der Ordner wurde nur umbenannt. Die großen Änderungen sind intern. So werden die Standard-Texte nicht mehr in der Datenbank gepflegt, sondern wieder in Dateien. So können wir die Texte viel komfortabler pflegen, indem wir einfach nur noch die entsprechende Datei bei einem Update neu ausliefern. So wie in den 2.0-Zeiten . Aktuell ist es nämlich so, dass wir ein und denselben Text an 4 Stellen gleichzeitig pflegen müssen: SQL-Datei des Installers, section-Datei im Update des Updaters, section-Datei im lang/*/sections/_samples-Ordner, interne SQL-Datei für das Entwicklerteam. Dem Wahnsinn wird nun ein Ende gesetzt. "Texte anpassen" im Adminbereich funktioniert wie zuvor. Großer Vorteil ist nun, dass wenn man z. B. ein neues Sprachpaket erstellt, die Texte ebenfalls sofort über "Texte anpassen" vom Nutzer geändert werden können, ohne dass man als Sprachpaketentwickler dafür sorgen muss, die Daten irgendwie in die Datenbank zu bekommen, wie es in 2.2 noch der Fall ist. Das System wurde also vereinfacht. Es gibt nur noch einen einzigen Ort, wo der Entwickler seine Texte pflegt: In der einen zugehörigen Sprachdatei. Der LanguageTextManager wird in 2.3.1 wie in 2.1/2.2 genutzt. Es muss nichts umprogrammiert werden.