Modulare Erweiterung des Oxid-eShops: Klassen doppelt überschreiben?

Hallo,

eine Frage zur Entwicklung von Modulen im OXID-eShop.

Beispiel:

Die Funktion “Als verschickt Markieren” (im Backend) führt die Funktion “markAsShipped” in der Klasse “oxAdmin” aus. Nun schreibe ich ein Modul:
class oxMeinModul extends oxAdmin { function markAsShipped() {individueller code}}

(Funktionen und Klassen frei erfunden)

Soweit so gut funktioniert alles. Doch was passiert wenn jemand anders ebenfalls ein Modul im Shop erstellet, wo er auch die markAsShipped() Funktion überschreibt? Ich denke zumindest das ein Fehler kommt.

Gibt es hierfür eine Lösung oder macht man das Grundlegend anders, damit der Shop weiterhin modular erweiterbar bleibt?

Grüße,

Hallo,

solche Module können miteinander verkettet werden.

Gruß

Hallo,

vielen Dank für die Antwort. Wie funktionert das dann bei dem verketten? Werden einfach beide funktionen dann sozusagen “gemerged” oder nacheinander ausgeführt?

Grüße,

Hi,

die werden nacheinander ausgeführt. Hast Du die Tutorials dazu schon gefunden?

Gruß

Werde ich mir mal noch etwas mehr zu herzen nehmen - Danke!

Hallo,

Voraussetzung dafür ist, dass die Funktionen aller Klassen alle einen Aufruf auf parent::funktionsName() haben.

Gruß Joscha