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 Per Button/ Link Artikel in den Warenkorb legen Technische Fragen zu Plugins und Templates 1
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 6
Neu Im Warenkorb werden falsche Merkmalnamen geladen bei mehrsprachigen Shops JTL-Shop - Fehler und Bugs 2
Neu "Kaufen" statt in den Warenkorb Plugins für JTL-Shop 2
Neu Warenkorb Hinweise bei Bestandsänderung und Preisänderung Allgemeine Fragen zu JTL-Shop 2
Neu Warenkorb Menge aktualisiert nicht den Preis (Reload geht nicht) JTL-Shop - Fehler und Bugs 5
Neu NEU ✔️ PDF-Angebots-Plugin für den JTL-Shop 5 - PDF Angebote von der Produktseite oder aus dem Warenkorb heraus generieren B2C / B2B Plugins für JTL-Shop 5
Neu Warenkorb per Link teilen Allgemeine Fragen zu JTL-Shop 7
Neu Versandkosten Berechnung im Warenkorb wird nicht aktualisiert JTL-Shop - Fehler und Bugs 1
Neu Warenkorb nach X Tagen löschen JTL-Shop - Ideen, Lob und Kritik 2
Neu OPC - productstream als Liste wir keine Warenkorb Button angezeigt Betrieb / Pflege von JTL-Shop 2
Neu Versandkosten im Warenkorb werden als Artikel angezeigt Allgemeine Fragen zu JTL-Shop 6
Anzeige der VPE neben "Warenkorb hinzufügen" Einrichtung JTL-Shop5 1
Neu Crosselling - Warenkorb Allgemeine Fragen zu JTL-Shop 10
Setup Nummernkreise neue Firma - Länge der Kreise JTL-Wawi 1.8 8
Neu Packtisch: In der Liste der Aufträge neue Feld-Spalte mit Spalteneditor hinzufügen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Neue Oberfläche Wawi 1.8.12.2 (Beta) JTL-Wawi - Ideen, Lob und Kritik 0
Debitorennummern für bestehende und neue Kunden anlegen JTL-Wawi 1.8 2
Neue angelegte Artikel ausverkauft - kein Erscheinen auf Bestellvorschlägen JTL-Wawi 1.6 1
Neu List & Label Neue Vorlage Projektbaustein Bild Logo nur auf erstem Exemplar anzeigen User helfen Usern - Fragen zu JTL-Wawi 2
Neu StücklistArtikel in Angebote Aufträge Rechnung neue Vorlagen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Paypal Gebühren neue AGB Allgemeine Fragen zu JTL-Shop 1
Neu Neue Kinderartikel hochladen Shopware-Connector 1
Neu Neue Tab in JTL 5 Shop erstellen Allgemeine Fragen zu JTL-Shop 3
Neu E-Mail Vorlagen erweitern: Neue Vorlage à la Header, bzw. Sprachvariable nutzen? Templates für JTL-Shop 3
Neu Featurewunsch: blockierte User bei "neue Beiträge" ignorieren Smalltalk 2
Neu Nach Update auf 1.8.11 - teilweise kein "Amazon - Neue Produkteseite erstellen" möglich Amazon-Lister - Fehler und Bugs 1
Neu Rechnung Netto Preise anstatt Brutto / neue Vorlagen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3

Ähnliche Themen