Warenkorb neue Preiskalkulation ermitteln

  • Wichtiger Hinweis Liebe Kunden, solltet Ihr den DATEV Rechnungsdatenservice 2.0 nutzen, dann müsst Ihr bis zum 30.06.2024 JTL-Wawi 1.9 installieren. Danach wird die Schnittstelle für ältere Versionen nicht mehr unterstützt.
  • JTL-Connect 2024: Ihr habt noch kein Ticket? Jetzt Early Bird Ticket zum Vorzugspreis sichern! HIER geht es zum Ticketverkauf

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 Warenkorb Text ändern Allgemeine Fragen zu JTL-Shop 2
Neu Warenkorb in Euro per JavaScript ermitteln? Allgemeine Fragen zu JTL-Shop 1
Neu Merkmalbilder im Warenkorb oder Bestellabschluss anzeigen Allgemeine Fragen zu JTL-Shop 2
Neu Wie aufwendig wäre es wenn man einen 2ten Warenkorb implementiert? JTL-Shop - Ideen, Lob und Kritik 0
Paypal im Warenkorb Checkout auf deutsch Einrichtung JTL-Shop5 1
Beschreibung im Englischen Warenkorb auf Deutsch Einrichtung JTL-Shop5 1
Neu NOVA Child boxed - Warenkorb auf Desktop zu eng Templates für JTL-Shop 0
Neu 500er error Artikel in Warenkorb JTL-Shop - Fehler und Bugs 2
Neu Warenkorb anzeige mit der Gesammtsumme Templates für JTL-Shop 0
Anzeige versandkosten im Warenkorb Einrichtung JTL-Shop5 2
Neu Per Button/ Link Artikel in den Warenkorb legen Technische Fragen zu Plugins und Templates 2
Neu "Artikelanzahl in den Warenkorb" ausblenden bei Artikeln die es nur 1x gibt Betrieb / Pflege von JTL-Shop 2
Neu Artikel im Warenkorb wird von 1 auf null runtergesetzt. Anstatt es zu entfernen wird es automatisch wieder auf 1 gesetzt Allgemeine Fragen zu JTL-Shop 8
Neue Formulare: Keine Standardvorlage für Retouren-Dokument JTL-Wawi 1.9 0
Neu Neue Fehlermeldung Amazon-Lister Preis mit Steuern zur Anzeige Amazon-Lister - Fehler und Bugs 16
Neu neue Positionen an Auftrag funktioniert nicht richtig User helfen Usern - Fragen zu JTL-Wawi 0
Neu Ist es möglich nach jeder Position eine neue Seite anzufangen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Manomano - neue Atrribute hinterlegen ... User helfen Usern - Fragen zu JTL-Wawi 0
Neu Amazon.co.uk Lister Flatfile / Produkttyp wird nicht angezeigt - neue Produktseite nicht möglich Amazon-Lister - Fehler und Bugs 0
Neu von 1.5.55.8 auf neue Version umstellen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Bestehende custom-sprachvariable - neue Sprache Betrieb / Pflege von JTL-Shop 2
Neue Frist 30.06.2024: DATEV Rechnungsdatenservice 2.0 JTL-Wawi 1.9 0
Bin ich es der wahnsinnig ist oder die neue 1.9.4.1? JTL-Wawi 1.9 15
Neu Ebay neue Farben hinzufügen eBay-Anbindung - Fehler und Bugs 8
In Diskussion Umzug auf neue Hardware / PAD Einrichtung / Updates von JTL-POS 4
Setup Nummernkreise neue Firma - Länge der Kreise JTL-Wawi 1.8 8

Ähnliche Themen