Warenkorb neue Preiskalkulation ermitteln

OmKFJ

Aktives Mitglied
2. August 2016
22
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
18
1
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 Rundungsfehler im Warenkorb (schon wieder, oder besser: immer noch!) JTL-Shop - Fehler und Bugs 3
Kunden können im Warenkorb Artikell nicht löschen JTL-Wawi 1.10 2
Neu "Evtl. Lieferzeitverzögerung" direkt beim Einlegen in den Warenkorb anzeigen? Allgemeine Fragen zu JTL-Shop 2
Neu Artikelpreisänderung beim hineinlegen in den Warenkorb Technische Fragen zu Plugins und Templates 0
Neu Artikel aus der Kategorieübersicht zum Warenkorb hinzufügen? Allgemeine Fragen zu JTL-Shop 3
Neu Google shopping export - neue Produkte markieren um eine Werbung nur für neue Produkte laufen zu lassen Technische Fragen zu Plugins und Templates 0
Neu JTL 1.10.13 - Beta neue Oberfläche funktioniert nicht JTL-Wawi - Fehler und Bugs 1
Probleme beim Import von eBay-Produkten in JTL – neue Artikel werden nicht übernommen eBay-Anbindung - Fehler und Bugs 5
Neu Wawi Dashboard lädt nicht (neue Oberfläche) JTL-Wawi - Fehler und Bugs 0
Neu JTL-Webinar: Erobere neue Marktplätze – skaliere deinen E-Commerce mit JTL-eazyAuction! Messen, Stammtische und interessante Events 0
Neu Rechnungsstorno, neuen Auftrag bearbeiten bzw neue Rechnung erstellen User helfen Usern - Fragen zu JTL-Wawi 8
Gelöst Neue TSE Allgemeine Fragen zu JTL-POS 1
Neu Shopify erstellt selbstständig neue Varianten Shopify-Connector 3
Neu neue Sendungsnummer (DHL) wird nach Storno des 1. Label nicht an Amazon übergeben JTL-ShippingLabels - Fehler und Bugs 9
Neu Update von Version 1.5.55.8 auf neue sinnvoll? Installation von JTL-Wawi 25
Neu TSE Deutsche Fiskal neue Kasse Einrichtung / Updates von JTL-POS 0
Neu Echtzeitüberweisung - Neue Alternative zu PayPal & Co. ohne Gebühren Allgemeine Fragen zu JTL-Shop 22
Neu andere Artikelbeschreibung für neue Marktplätze per Ameise, wie ? Arbeitsabläufe in JTL-Wawi 4
Neu Neue Gebinde GTIN mit MDE hinterlegen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu UMFRAGE: Helft uns, die neue JTL-Website besser zu machen! Umfragen rund um JTL 10
Neu OSS und neue Versandländer: jedes EU-Land als Steuerzone bei jedem zusätzlichen Versandland manuell anlegen? User helfen Usern - Fragen zu JTL-Wawi 0
Preiskalkulation - geht weiterhin nicht JTL-Wawi 1.10 3

Ähnliche Themen