Warenkorb neue Preiskalkulation ermitteln

OmKFJ

Aktives Mitglied
2. August 2016
21
0
Hallo,

ich arbeite momentan an eine Anpassung eines Plugin für JTL- Shop 4. Mit diesen Plugin lässt sich eine vom User eingegebene Länge berechnen. Die Länge wird in einem Pflicht-Freifeld als Variation eingegeben. Dieser wird dementsprechend mit Funktionsattributen im Wawi gesteuert.

Durch meine Erweiterung, lassen sich nun auch Staffelpreise mit einkalkulieren. Hier ein Beispiel:

Staffel:
  1. ab 10m = 10,- € pro m
  2. ab 20m = 9,- € pro m
  3. ab 30m = 8,- € pro m
  4. ab 40m = 7,- € pro m
  5. ab 50m = 6,- € pro m
Grundpreis: 12,- € pro m

Dazu habe ich die Kalkulation so programmiert, dass der Preis der Staffel nicht nur vom Eintrag der Länge Pflicht-Freifeld abhängig ist, sondern auch nach Anzahl der Artikel. Hier noch ein Beispiel:

Kunde gibt ein: 5 m
Danach wählt er die Artikelanzahl aus: 3 Stück
somit ist der neue Preis (3*5=15 also 1.Staffel) 10,- € pro m

Ich habe es soweit geschafft es in der TPL zu realisieren, sodass der neue Preis sich nach jede Eingabe oder Anzahlveränderung im <div class="price_wrapper"> steht.

Das Problem ist, wenn man den Artikel im Warenkorb einlegt, wird immernoch der Standardpreis (12,- € pro m) eingerechnet. Daher meine Frage, wie lässt sich die Warenkorb kalkulation ermitteln, sodass ich mit den neuen Staffelpreis rechnen kann.

EDIT:

Um die Frage verständlicher zu machen, wie definiere ich in der PHP Dateien einen neuen Grundpreis, damit dieser neu berechnet wird. Laut Recherche kann man das mittels einen HOOK realisieren?

HOOK_TOOLSGLOBAL_INC_PREISSTRINGLOCALIZED

Es reicht mir auch schon eine Ansatz Vorgehensweise, mit der ich anfangen kann.

EDIT:

in der /classes/class.JTL-Shop.Preise.php Datei Zeile 315:

  • $this->fVKNetto = (float) $price->fVKNetto;

möchte ich da zb anstatt (float) $price->fVKNetto den ersten Staffelpreis nehmen, nämlich:

  • $kArtikel->Preise->fPreis1;

da aber in Zeile von 299 bis 305 die Variable $prices nur für die Tabellen tpreis und tpreisdetail zuständig ist, gibt es kein fPreis1. Dieser ist in der Tabelle tpreise enthalten. Wie sieht den die Shop :: DB()->query Abfrage aus, sodass ich auf fPreis1 zugreifen kann?

EDIT:

durch das debuggen der Variable $prices habe ich folgendes bekommen:

array(6) {
[0]=>
object(stdClass)#183 (7) {
["kPreis"]=>
string(4) "8320"
["kArtikel"]=>
string(4) "1904"
["kKundengruppe"]=>
string(1) "1"
["kKunde"]=>
NULL
["kPreisDetail"]=>
string(4) "9111"
["nAnzahlAb"]=>
string(1) "0"
["fVKNetto"]=>
string(4) "0.25"
}
[1]=>
object(stdClass)#184 (7) {
["kPreis"]=>
string(4) "8320"
["kArtikel"]=>
string(4) "1904"
["kKundengruppe"]=>
string(1) "1"
["kKunde"]=>
NULL
["kPreisDetail"]=>
string(4) "9106"
["nAnzahlAb"]=>
string(2) "10"
["fVKNetto"]=>
string(5) "0.225"
}
[2]=>
object(stdClass)#185 (7) {
["kPreis"]=>
string(4) "8320"
["kArtikel"]=>
string(4) "1904"
["kKundengruppe"]=>
string(1) "1"
["kKunde"]=>
NULL
["kPreisDetail"]=>
string(4) "9107"
["nAnzahlAb"]=>
string(2) "20"
["fVKNetto"]=>
string(3) "0.2"
}
[3]=>
object(stdClass)#186 (7) {
["kPreis"]=>
string(4) "8320"
["kArtikel"]=>
string(4) "1904"
["kKundengruppe"]=>
string(1) "1"
["kKunde"]=>
NULL
["kPreisDetail"]=>
string(4) "9108"
["nAnzahlAb"]=>
string(2) "30"
["fVKNetto"]=>
string(5) "0.175"
}
[4]=>
object(stdClass)#187 (7) {
["kPreis"]=>
string(4) "8320"
["kArtikel"]=>
string(4) "1904"
["kKundengruppe"]=>
string(1) "1"
["kKunde"]=>
NULL
["kPreisDetail"]=>
string(4) "9109"
["nAnzahlAb"]=>
string(2) "40"
["fVKNetto"]=>
string(4) "0.15"
}
[5]=>
object(stdClass)#188 (7) {
["kPreis"]=>
string(4) "8320"
["kArtikel"]=>
string(4) "1904"
["kKundengruppe"]=>
string(1) "1"
["kKunde"]=>
NULL
["kPreisDetail"]=>
string(4) "9110"
["nAnzahlAb"]=>
string(2) "50"
["fVKNetto"]=>
string(5) "0.125"
}
}

nun möchte ich wissen, wie ich z.B. auf dem zweiten Index des Arrays zum fVKNetto (["fVKNetto"]=>string(5) "0.225" komme:

beispiel: $this->fVKNetto = (float) $price[1]->fVKNetto; // funktioniert aber nicht

EDIT:

Danke für die große Unterstützung! Problem gelöst. Close request
pic1.PNG pic2.PNG
 
Zuletzt bearbeitet:

werk26

Aktives Mitglied
4. Mai 2017
15
0
Hallo,

wir benötigen nahezu das gleiche - zusätzlich LängexBreite - daher würde mich im Detail interessieren, wie Du das final umgesetzt hast.

Würde mich über eine Antwort freuen!

Gruß Andi
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Warenkorb - jeden Artikel einzeln im Warenkorb ausweisen Allgemeine Fragen zu JTL-Shop 0
Neu Warenkorb Fehler - Bei Stückzahl ändern wird Produkt gelöscht JTL-Shop - Fehler und Bugs 1
Neu Update auf Shop 4.06 - Variationen können nicht in den Warenkorb gelegt werden Installation / Updates von JTL-Shop 0
Neu "Rabatte ignorieren" aus der Wawi greift nicht, wenn 2 Artikel im Warenkorb sind JTL-Shop - Fehler und Bugs 1
Neu Warenkorb speichert keine Artikel JTL-Shop - Fehler und Bugs 0
Neu neuer Shop, Links führen in leeren Warenkorb Installation / Updates von JTL-Shop 2
Neu Menge kann im Warenkorb mit Kommastellen eingegeben werden JTL-Shop - Fehler und Bugs 2
Neu Neue Förderung für NRW-Unternehmen: IT Sicherheit bis zu 80% (!!) Zuschuss / MID Digitale Sicherheit Business Jungle 0
NEUE Artikel werden nicht nach kaufland und otto übertragen kaufland.de - Anbindung (SCX) 0
Neue Funktion: Vereinfachte Stornierung für Kunden kaufland.de - Anbindung (SCX) 0
Beantwortet Welche 'neue' Hardware wird empfohlen? JTL-POS - Fragen zu Hardware 3
Neu nach stornierter Rechnung lässt sich keine neue Rechnung im Auftrag erstellen JTL-Wawi - Fehler und Bugs 1
Neu Neue Rückgaberichtlinien von Amazon User helfen Usern - Fragen zu JTL-Wawi 17
Neu Neue Version 2.3.0.1 ab sofort verfügbar! Fragen rund um LS-POS 0
Neue Version 2.3 ab sofort verfügbar! Fragen rund um LS-POS 0
Neu Neue Shopware-Preise ab 15.09.22 Smalltalk 7
Neu Kann neue Shopanbindung nicht speichern JTL-Wawi - Fehler und Bugs 1
Neu Fehlermeldung neue Varianten User helfen Usern - Fragen zu JTL-Wawi 0
Neu Amazon Polen, Schweden und Türkei anbinden bzw. eine Neue Produktseite erstellen Amazon-Anbindung - Fehler und Bugs 0
Neu Neue Artikel per Workflow auf allen Kanälen listen Arbeitsabläufe in JTL-Wawi 0
Neu Neue Lieferung zu bestehendem Auftrag User helfen Usern - Fragen zu JTL-Wawi 1

Ähnliche Themen