Claudiocool Posted December 24, 2017 Share Posted December 24, 2017 (edited) Hallo Leute, da jetzt ein paar Tage nix zur Post muss und ich dadurch ein wenig Zeit habe, meine "To do's" hervorzuholen, würde ich die Zeit jetzt gerne nutzen, um meine Grundpreiskalkulation zu optimieren. Worum geht es? Die Grundpreise müssen im 1.6 (ob es im 1.7 immer noch so ist, weiß ich nicht) händisch eingegeben werden. Also muss ich da jedes mal den Taschenrechner rauskramen und selbst ausrechnen, wieviel 100 ml (oder eben ein Liter) meines Produktes mit 420 ml Inhalt kosten, weil sonst ein arbeitsloser Advokat darüberstolpern und Einnahmen wittern könnte. Was habe ich bisher erreicht? Ich habe die Product.tpl geändert, so dass jetzt beim Grundpreis kein Geldbetrag mehr rein muss, sondern die Inhaltsmenge bezogen auf die jeweils gewünschte Grundmengenangabe, also z.B. 0.42 für eine Grundpreisangabe in Litern oder 4,2 für eine Grundpreisangabe in 100ml. Hierfür wurde aus (bei mir in Zeile 309 zu finden) {convertPrice price=$unit_price} {convertPrice price=$productPrice/$unit_price*(1+(1*$tax_rate/100))} gemacht. Die Übersetzungen im Kasten wurden entsprechend geändert, so dass das dann so aussieht: So, das funktioniert soweit ganz gut, der Taschenrechner kann in der Schublade bleiben und auch Kalkulationsfehler sind so ausgeschlossen, weiter muss man sich bei Preisänderungen keine Gedanken mehr machen, weil der Grundpreis dann automatisch neu berechnet wird... Soweit so gut, das ist schon mal entscheidend besser als in der Originalversion des Shops... Leider gibt es aber da noch einen kleinen Stolperstein... $productPrice ist der Preis, der oben beim Verkaufspreis angegeben wird, und das ist jetzt nicht so ganz glücklich, wenn man mit Mengenstaffeln oder Sonderpreisen arbeitet. Hier sollte also die Variable ersetzt werden durch den Preis, der oben im Kasten steht, also die aktuell gültige Preisangabe. Weiß jemand, wie diese Variable so in obige Berechnung zu kriegen ist? Ziel soll sein, dass der Grundpreis auch bei Sonderangeboten bzw. Staffelpreisen auf die Basis des jeweils zu zahlenden Preises korrekt angezeigt wird. Ich kann also jetzt zwar den Preis an sich ändern, aber bei Sonderpreisen, die z.B. automatisch beginnen und enden, funktioniert es nicht, ebensowenig, wenn man z.B. mit Mengen-Vorauswahl auf der Produktseite die Anzahl der Produkte setzt, die man in den Warenkorb legen will. Der Stückpreis im Preiskasten geht da zwar mit, aber eben nicht der Grundpreis, das würde ich gerne noch hinkriegen. Edited December 24, 2017 by Claudiocool (see edit history) Link to comment Share on other sites More sharing options...
Whiley Posted December 26, 2017 Share Posted December 26, 2017 Am 24.12.2017 um 11:56 AM schrieb Claudiocool: Hier sollte also die Variable ersetzt werden durch den Preis, der oben im Kasten steht, also die aktuell gültige Preisangabe. Die Variable des angezeigten gültigen Preises (netto) dürfte sein: $product->price Grüsse Whiley Link to comment Share on other sites More sharing options...
Claudiocool Posted December 26, 2017 Author Share Posted December 26, 2017 Hi Whiley, die Variable funktioniert auch nicht anders ausser, dass ich dann (warum auch immer) meine Netto-Brutto-Rechnung zweimal machen muss, also den Teil, wo man den Nettopreis mit *(1+(1*$tax_rate/100)) auf den Bruttopreis bringt. Wenn ich einen Sonderpreis hinzufüge, bleibt die Grundpreisangabe auch mit dieser Variablen an den Normalpreis gekoppelt. Link to comment Share on other sites More sharing options...
Whiley Posted December 26, 2017 Share Posted December 26, 2017 Hallo Claudio, der Mehrwert deiner Änderungen leuchtet mir nicht so recht ein, du wirst ja deine Produktdaten wahrscheinlich auch lokal vorhalten, in einer Datenbank oder Excel, da kannst du den Grundpreis auch ohne Taschenrechner korrekt anzeigen lassen, bzw zum Shop übertragen, Auch die Rückrechnung des Grundpreises z.B. bei Sonderpreisen funktioniert in der Originalversion ja ganz einwandfrei. Aber davon abgesehen, kannst du dir die aktiven Variablen ja in der Debug-Console jederzeit anzeigen lassen, ich habe mir das im Demo-Shop(1.6.1..17) gerade nochmal angeschaut und es ist auch in der aktuellen Version so wie ich das in Erinnerung hatte: $product->price ist die Variable für den Nettowert des angezeigten Preises. Lass dir doch den Inhalt der beiden Preisvariablen einfach mal anzeigen über {$productPrice} {$product->price} in der product.tpl. Grüsse Whiley Link to comment Share on other sites More sharing options...
Claudiocool Posted January 20, 2018 Author Share Posted January 20, 2018 So.... komme leider erst heute wieder dazu, an der Datei weiterzuspielen.... Wenn ich den $product->price nehme, wird in der Tat der Nettopreis von oben gesetzt... soweit so gut.... Wenn ich nun hier den Preis daraus mit dem Steuersatz usw. rechne, passt auch alles, aber jetzt kommt das erstaunliche: Sobald ich einen Sonderpreis setze, wandert der $unit_price mit, was ja der Aussage von dir geschuldet ist, dass der Grundpreis "mitgeht"... Also habe ich nun zwar den Grundpreis anhand der Menge und der Einheit errechnen lassen, aber die Funktion, dass der Preis bei einem Sonderangebot mitgeht, scheine ich damit 2x erwischt zu haben.... Was ja jetzt auch blöd ist Okay, ich habe jetzt also quasi versucht, den Shop den Grundpreis errechnen zu lassen, dabei aber übersehen, dass der Faktor mit einem Sonderpreis "mitgeht". Richtig? Mist! jetzt müßte ich also rausfinden, wo an dem Faktor rumgerechnet wird.... Link to comment Share on other sites More sharing options...
DRMasterChief Posted January 21, 2018 Share Posted January 21, 2018 Hallo Claudio, erst cool und danke daß du dich dem Problem annimmst. Ist ja fast kaum zu glauben daß das immer noch nicht funktioniert und PS da nicht weiterkommt. Da mir langsam die Puste ausging mit PS 1.6.x und teils grundlegende Dinge und Funktionen eben nicht gehen, habe ich mich ja schon vor längerem umgesehen und grade zu dieser Zeit kam TB auf die Oberfläche.... naja will jetzt gar nicht lange Reden machen, Dich aber dennoch darauf hinweisen: ThirtyBees hat (u.a.) das Grundpreis-Ding gelöst und dieser wird auch korrekt berechnet. Vielleicht hilft es Dir, wenn du mal in den Code von dort reinschaust und ggf. kannst du was davon verwenden als Idee. Link to comment Share on other sites More sharing options...
Whiley Posted January 21, 2018 Share Posted January 21, 2018 also wenn man nichts am Code ändert funktioniert sowohl bei PS1.6.1.17 als aich bei ThirtyBees die Umrechnung des Grundpreises bei Sonderpreisen gleich, und zwar richtig u. korrekt! Die Umrechnung erfolgt in beiden Fällen über ->unit_price_ratio Grüsse Whiley Link to comment Share on other sites More sharing options...
Claudiocool Posted January 21, 2018 Author Share Posted January 21, 2018 Whiley, als alter OSC-Geschädigter denkt man manchmal die Dinge nicht ganz zu Ende Ich war es gewohnt, im OSC meine Grundpreise direkt an der Menge festzumachen, also ein Blick auf die Dose, 420ml drin, dann einfach die 420 eingegeben, mengenfaktor und einheit dazu, fertig war die Laube. Beim Presta sah ich, dass ich da einen Preis eingeben muss und wofür der gilt, dann ging ich mal davon aus, dass der ausser der Steuerberechnung NICHTS weiter tut und habe begonnen, es nach dem OSC-Prinzip (das hatte ich damals selber gecodet, weil es da, wie so oft, nichts passendes gab) zu ändern. Dass dann doch diverse Rechnereien stattfinden, die ich dadurch ausheble, habe ich dann bemerkt. Da jetzt aber die Berechnungen eventuell noch weitere Auswirkungen haben könnten, die man nicht sofort sieht, habe ich es erstmal wieder zurückgesetzt, weil ich eigentlich auch so damit arbeiten kann... Schnellschuss eben DRMasterChief, Ich schau mir das gelegentlich mal an, vielleicht läßt sich daraus ja eine pfiffige ganzheitliche Lösung basteln. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now