ich stehe gerade vor einer kleinen Denkblockade und hoffe hier einen hilfreichen Tipp zu finden.
Es geht um Folgendes [Oxid EE 5.0.3]:
In einem Konfigurator sollen sich Kunden einen Artikel zusammenklicken können. Wenn ich alle möglichen Kombinationen als Artikel im Shop anlege, kommen hier schnell mehrere 100Tsd Artikel zusammen.
Um das ganze zu umgehen, möchte ich einen Dummy-Artikel anlegen, dem die verschiedenen Konfigurationsmöglichkeiten als persparam Felder mitgegeben werden.
Soweit auch alles kein Problem!
Problematisch wird das Ganze jetzt, da die x-Tausend “Artikel” auch alle unterschiedliche Preise haben. Somit kann ich dem Dummy keinen Artikelpreis mitgeben, sondern muss diesen dynamisch, je nach Konfiguration, berechnen.
Hat hier vielleicht jemand einen Lösungsansatz parat? Ich bin über jede Hilfe dankbar!
Leider nicht so einfach. Die Preise für die entsprechenden Konfigurationen sind sehr unterschiedlich. Es gibt kein Schema - wenn Attribut a) dann Preis +5 Euro.
Preise werden in der oxbasketitem überschrieben -> geht
Die Funktion getTitle() aus oxbasketitem erzeugt einen neuen Titel -> geht
In Warenkorb, Bestellabschluss, Emails wird der richtige Preis & Title angezeigt -> geht
Jetzt das Problem:
Die Preise werden auch in die oxorderarticles geschrieben. Der Titel lautet dort aber immer Dummyartikel, vom “echten” Artikel eben.
Ich hatte es durch irgend eine Änderung in der oxbasketitem genau 1x geschafft, dass auch in der oxorderarticles der richtige Title steht. Leider ist mir das erst nach einigen weiteren Änderungen aufgefallen und ich komme einfach nicht mehr darauf, was ich genau angepasst hatte.
Also, um es kurz zu machen: Mein Artikel heißt “Dummyartikel”. Kann mir irgend jemand einen Tipp geben, wie ich die oxbasketitem anpassen muss, damit anstatt Dummyartikel der richtige Name “Artikel 123” in die orderarticles Tabelle eingetragen wird?
Ich verstehe nicht wirklich mit welchem Codeschnipsel ich Dir hier weiterhelfen kann/sollte?
Wie ein Modul geschrieben wird - dazu gibt es ja Tutorials.
Welche Klasse und Funktion ich nutze, steht einen Post weiter oben.
Und da drüber steht genau die Codezeile, wie man die Artikelnummer, den Preis oder ähnliches ändert.
Ob der aktuell in den Warenkorb gelegte Artikel dem gewünschten entspricht kann man ja z.B. mit if(preg_match("/12345ABCDE/", $this->_oArticle->oxarticles__oxid->value)){ überprüfen.
Dann bringen Dir aber auch weiter Codezeilen nichts. Ich würde mich erst mal auf die Basis “Wie erstelle ich ein Modul” konzentrieren, bevor ich an Dingen wie den oxbasketitems rumschraube.
Hallo,
bisher musste ich am Shop selbst nichts machen, sondern ich habe nur Module in den Modulordner geladen, anktiviert und fertig. Hätte gedacht, das funktioniert hier ähnlich. Für kleine Änderungen könnte ich auch nen Bekannten anhauen.