Hallo ihr Lieben,
ich habe in der vergangenen Woche zwei kleine Erweiterungen geschrieben, die die vorhandenen Core-Funktionalitäten aufgreifen und erweitern. Ziel sollte sein, dass es möglichst updatefähig bleibt. Nun frage ich mich aber, ob der von mir gewählte Weg der richtige/beste ist, oder ob es einen definitiv besseren gibt.
Das unten beschriebene Szenario habe ich in einer weiteren Erweiterung noch umfangreicher mit 3 kopierten Klassen umgesetzt, so sollte es aber einfach zu verstehen sein.
Szenario:
- im DCA für tl_content habe ich zwei Felder hinzugefügt, die befüllt und zusätzlich im FE ausgegeben werden sollen.
- per parseTemplateHook fange ich diese Felder auch ab und gebe sie an das FE-Template weiter
PHP-Code:
$objTemplate->class .= " ".$class;
- da die ContentElemente vom Typ Modul aber diese Felder gar nicht laden, habe ich die ContentModule.php quasi in meine Erweiterung kopiert und umbenannt (ContentModuleExtended.php)
- diese ContentModuleExtended extended dann ContentModule
PHP-Code:
class ContentModuleExtended extends ContentModule
{ [...]
- in dieser Klasse habe ich die public generate generate() aus dem Original kopiert und an meine Anforderungen angepasst (sind nur minimale Änderungen, 4 Zeilen)
PHP-Code:
public function generate()
{ [...]
Das Ergebnis ist wie gewünscht, aber ich frage mich wie gesagt, ob dies der beste Weg ist oder ob ihr diesen überhaupt nicht empfehlen könnt.
Meine Bedenken sind vor allem bei Updates. Theoretisch muss ich bei jedem Update prüfen, ob etwas an der originalen ContentModule.php geändert wurde und die entsprechenden Änderungen auch übernehmen, da die originale FUnktion ja durch "meine" generate() überschrieben wird.
Vielen Dank und bin sehr gespannt auf eure Antworten
Besten Gruß und einen schönen Tag,
sebi