Projekt

Allgemein

Profil

Umgang mit section-Dateien

Mit Section-Dateien lassen sich Texte in der DB überladen.
Section-Dateien müssen nicht alle Phrasen beinhalten, sondern können auch einzelne Textphrasen überschreiben oder neue hinzufügen.
Eine Section-Datei kann beliebigen PHP-Code beinhalten, solange das Text-Phrasen-Array $t_language_text_section_content_array befüllt wird. Nach Möglichkeit sollte eine Section-Datei jedoch nur die Definition des Arrays beinhalten. Idealerweise ist das Array nach dem Key (phrase_name) sortiert, um doppelte Zuweisungen auszuschließen, die einem bei der Fehlersuche gerne mal in den Wahnsinn treiben.
Eine Section-Datei sollte, wie alle anderen PHP-Dateien auch, einen Lizenz-Header haben.
Der Name einer Section-Datei muss sich wie folgt zusammensetzen:
<Section-Name>[.<Subsection-Name>].lang.inc.php
Es lassen sich auch Sections, die aus den alten Sprachdateien (mit define(...)) entstanden sind, überladen. Sowohl mittels alter Sprachdateien, als auch Section-Dateien.
Der Section-Name für alte Sprachdateien entspricht dem Pfad der alten Sprachdatei, wobei eine Ersetzung der Sonderzeichen '/' und '.' stattfindet:

'/' --> '__'
'.' --> '___'
Beispiel: lang__german__admin__customers_status___php.lang.inc.php

Die Überladung von Sections aus alten Sprachdateien lässt sich sowohl über Section-Dateien, als auch über alte Sprachdateien bewerkstelligen. Section-Dateien haben dabei die höchste Priorität, danach die alten Sprachdateien und zuletzt die DB. Es lassen sich alle drei Konzepte gleichzeitig verwenden.

Textphrasen im Updater:

Der Updater erkennt, wenn Textphrasen in der Datenbank oder in Section-Dateien angepasst wurden und fragt bei der Installation eines Updates nach, ob die Änderung durch das Update oder die Änderung durch den Nutzer übernommen werden soll. Handelt es sich um eine Überladung durch eine Section-Datei, so kann der Nutzer sich nur entscheiden alle Überladungen durch die Datei oder alle Änderungen durch das Update zu übernehmen, da, falls sich der Nutzer für die Änderung durch das Update entscheidet, die entsprechende Section-Datei mit auf die Löschliste gesetzt wird. Andernfalls bleibt die Datei bestehen und überlädt weiterhin die enthaltenen Textphrasen.

Section-Dateien für individuelle Anpassungen:

Die Verwendung von Section-Dateien ist für individuelle Anpassungen empfehlenswert, da durch Updates keine Section-Dateien ausgeliefert werden und der Updater auch Änderungen an den entsprechenden Sections erkennt.

Section-Dateien für (nicht-core-integrierte) Partnermodule:

Aktuell sollten wohl weiterhin SQL-Befehle direkt im Installationsskript des jeweiligen Partnermoduls ausgeführt werden. Für die Zukunft ist geplant, den neuen Updater mit dem Installer und einem Plugin-System zu kombinieren. Wenn es so weit ist und sich Partnermodule als Plugins installieren lassen, bietet es sich an das Sprachimport-System des Updaters zu nutzen, das Section-Dateien direkt importiert.