Was sind Overrides und wie erstellt man diese

  • Sicherlich seltener benötigt, aber es besteht in Joomla 3 die Möglichkeit PHP-Konstanten aus /includes/defines.php "erlaubt"/updatesicher zu überschreiben.


    Also Dinge wie JPATH_BASE, JPATH_THEMES, JPATH_PLUGINS usw.
    Man kann so auch eigene, dann global geltende PHP-Konstanten hinzufügen, was ich weitaus interessanter für meine Arbeit finde.


    Der Override:

    • Kopiere Datei /includes/defines.php in das Wurzelverzeichnis deines Joomlas.
    • Füge Zeile define('JPATH_BASE', __DIR__); an den Anfang ein.
    • Füge Zeile define('_JDEFINES', 1); am Ende der Datei ein. Damit verhinderst du doppeltes Laden, was zu einer PHP-Warning führen würde.

    Im Backend funktioniert das nach dem selben Schema. Dort dann mit Datei /administrator/includes/defines.php, die man nach /administrator/defines.php kopiert.


    Oder nur eigene Konstanten hinzufügen, statt Joomla-Konstanten überschreiben?

    • defines.php "leer" anlegen
    • Eigene Konstanten definieren
    • O.g. 2 Zeilen weglassen(!), damit Joomla seine Konstanten zusätzlich und konfliktfrei laden kann.