Plugin/Modul für Guthaben erstellen

Hallo zusammen,

ich bin Leni und bin ganz neu hier. Ich möchte für eine bestehenden OXID E-Shop der mit Warexo verbunden ist eine kleine Erweiterung/Modul/Plugin erstellen und brauche da bitte einmal eure Hilfe.
Folgendes soll die Erweiterung können:
In der Kundendatenbank eine Spalte hinzufügen mit Guthaben und jedem Kunden ein Guthaben von 100€ automatisch zuweisen. Bei Kauf von Produkten eines bestimmten Lieferanten soll zur Bezahlung das Guthaben genommen werden und der Kunde soll eine Meldung bekommen wenn sein Guthaben nicht ausreicht. Dann soll kein Kauf möglich sein. Reicht das Guthaben aus, wird eine Bestellung ausgelöst und der entsprechende Betrag vom Guthaben abgezogen.

Diese Erweiterung betrifft nur einen spezifischen Lieferanten, bei allen anderen muss nichts angepasst werden.

Gibt es so eine Erweiterung in ähnlicher Form vllt schon oder wie kann ich diese erstellen. Ich habe bisher nur mit Woocommerce und dort mit Hooks gearbeitet. Die Umsetzung in Woocommerce klappt, jedoch weiß ich leider nicht, wie ich das im OXID E-Shop umsetzen kann und bin für jede Hilfe dankbar.

Viele Grüße
Leni

Hallo Leni @oxidnewbie2025 :slight_smile:

Herzlich willkommen im OXID Forum!

Wie Du richtig festgestellt hast, lässt sich die Funktion im OXID eShop mithilfe von Modulen erweitern.

Dabei ist immer zu berücksichtigen, für welche Shop-Version das Modul umgesetzt werden soll, beispielsweise für die Community Edition in der Version 7.3.0.

Falls Du Dich bereits im Shop-Admin eingeloggt hast, wirst Du festgestellt haben, dass Du die Version oben rechts findest.

In der offiziellen Dokumentation wird erläutert, wie die Shop-Version 7.3.0 mithilfe von Modulen erweitert werden kann.

Eine Linksammlung findest du im Forum in der Kategorie „Wiki” unter dem entsprechenden Eintrag https://forum.oxid-esales.com/c/wiki/70 genauer zum Einstieg Erste Schritte für Anwender, Händler und Entwickler

Abschnitt für die Modulentwicklung Module — OXID eShop developer documentation 7.3 documentation

Im Vergleich zu WordPress arbeitet OXID mit einer Überladungskette.

Der Aufruf von OXID-Framework-Klassen erfolgt über oxNew(…)

Du solltest in den überladenen Methoden immer parent::methodenName() verwenden, um die Überladungskette für andere Anpassungen über weitere Module am Leben zu halten.

Deine geplante Anpassung des Guthabens wird die Warenkorb-Berechnungsfunktion beeinflussen. Diese ist eine der komplexesten Funktionen im Shop.

Für das erste Modul ist diese Anpassung nicht gut geeignet, um das OXID-Framework kennenzulernen.

  1. Der erste Schritt besteht darin, die Grundstruktur Deines Moduls anzulegen Steps for creating a basic module — OXID eShop developer documentation 7.3 documentation
  2. Im zweiten Schritt könntest Du die Kundendatenbank über die Migration anpassen. Dazu solltest Du Dich mit dem Datenbankdesign von OXID beschäftigen Database Migration — OXID eShop developer documentation 7.3 documentation
  3. Im dritten Schritt solltest Du Dir überlegen, an welcher Stelle Du Dich im OXID-Framework einklicken möchtest. Dies ist mit WordPress Hooks vergleichbar, aber mit dem Unterschied, dass Du Klassen überladen kannst, um die darin enthaltenen Methoden zu erweitern Overriding existing OXID eShop functionality — OXID eShop developer documentation 7.3 documentation

Ich hoffe, einen Denkanstoß geben zu können.

Viele Grüße

Tim

Hallo Tim,

vielen Dank für deinen Denkanstoss. Ich habe dir eine PN geschickt, da ich mir nicht sicher bin ob ich mir dieses Projekt zutrauen würde.

Viele Grüße
Leni

1 Like