Moin, ich habe mit Hilfe des Artikels in der Wiki Versandkosten je Artikel eingerichtet. Das klappt so weit ganz gut. Jetzt soll es aber so sein, dass die Versandkosten nur einmal berechnet werden sollen (auch wenn der Artikel 3 mal im Warenkorb ist) und nur einmal Versandkosten berechnet werden sollen. Hier soll dann der höchste Betrag verwendet werden. Beispiel Warenkorb: 3 x Artikel A mit 5€ Versandkosten 1 x Artikel B mit 10€ Versandkosten Versandkosten betragen 10€ Ich habe dazu „Eigene Versandkosten-Berechung:“ angepasst. Eigentlich müsste ich doch SUM(at.attr4\*b.quantity)
in MAX(at.attr4)
ändern oder? Wenn ich dies tue, dann wird immer der niedricgste Wert für die Versandkosten verwendet. Wenn ich das Ganze aber in MIN(at.attr4)
ändere wird der höchste Wert verwendet. Ist das so korrekt? Erscheint mir etwas komisch. Gruß dpde
Hi, ich wollte es genauso haben wie du und habe folgende formel bei eigene Berechnung stehen: MAX(at.attr2)
Funktioniert bei mir auch Problemlos. Er nimmt immer nur den höchsten Wert. Grüße
Ja, das hätte ich auch vermutet und zuerst so umgesetzt. Allerdings nimmt er bei mir bei MAX den niedrigsten und bei MIN den höchsten Wert. - Sehr komisch…
Hallo, ich hatte am Anfang auch ein merkwürdiges Verhalten bei der Berechnung. Mal wurden die höchsten VK genommen, mal die niedrigsten, mal mittlere… Und das auch noch je nach Land unterschiedlich. Abhilfe schaffte letztendlich, alle Versandkosten-Attribute mit der gleichen Anzahl an Stellen anzulegen, in Deinem Falle also 05.00 und 10.00 (falls Du es noch nicht so hast ist es einen Versuch wert…).
Hi, oder einfach MAX(at.attr2+0)
verwenden. Heiner
habe beide Lösungsvorschläge getestet und beide funktionieren. Habe mich für letzteren entschiede, da dieser wohl weniger fehleranfällig ist wenn Produkte gepflegt werden. Warum muss man zu dem Attributwert 0 addieren? Damit MySQL weiß dass es sich um eine Zahl handelt? (Feld ist ja eigentlich ein Varchar)
ich schließe mich hier mal an … diese variante funktioniert perfekt, wenn man nur eine staffelung hat, aber ich habe 5 produkte im shop die man nicht zusammen bestellen kann, wo eine erhöhung der versandkosten hinzukämen (produkt1 normalerweise 6.9, produkt 2 normalerweise 15€, bei den anderen kombis geht das, das es dann eben das teuerste nimmt, aber bei einigen kombis produkt 2 + produkt 5 müsste eigentlich im gesamtpreis eine andere regel zutreffen nämlich 6.9 + 15€, kann man das irgendwie auch einstellen? wäre mir sehr wichtig … vielleicht hab ich auch einen denkfehler? danke für eure hilfe
Hi raulifauli, kurz ne Frage, damit ich dir helfen kann: Woher soll das Script wissen, ob die Versandkosten nicht summiert werden sollen? Gibt es dafür ein Flag im Artikel? Wenn die Versandkosten immer unterschiedlich sind, würde es übrigens auch so gehen: SUM(DISTINCT at.attr2)
Heiner
Hallo Heiner, danke für deine Antwort … das ist eben mein problem, wie kann ich dem script das klarmachen kann, das es eben bei diesen wenigen kombis eben einfach den 3. preis nehmen sollte. wahrscheinlich ist mein gedankengang vollkommnen falsch … ich schreib mal kurz auf, was ich mir so vorstelle bzw brauche … ich habe verschiedene kategorien … der grundpreis für fast alles im shop ist sagen wir 6.9 (egal wieviel artikel man nimmt), dann gibt es eine kategorie (eigentlich nur eine mit deren unterkategorien) da ist der versand immer 15 €, wenn aber nun jemand einmal artikel mit 6.9 nimmt und einmal für 15€ dann soll es bei den allermeisten artikeln natürlich 15€ versand nehmen, bei den wenigen artikel kombis muss es aber 20€ abrechnen, weil man die kombi in zwei paketen versenden muss, weil der artikel eben nicht mit dem anderen in ein paket passt. ich wäre dir von herzen dankbar, wenn du meine wirren gedanken auf den richtigen weg bringen würdest
jetzt hab ich alles kaputt gespielt *grmpf* nun gehen gar keine versandkosten mehr, egal was ich einstelle *seufz*. jetzt zeigt es nur noch 0,00 euro an. vielleicht magst du dir das mal anschauen?
Ja, schick mir einmal die Zugangsdaten per PN. Das mit den Kompi-Versandkosten könnte z.B. auch so funktionieren, wenn du die in ein anderes Feld speicherst. MAX(at.attr2+0)+MAX(at.attr3+0)
Hi, da fehlte noch die Länder/Zahlungsart-Auswahl bei der Versandart. Das habe jetzt bei dir nachgeholt. Außerdem habe ich jetzt bei dir noch ein zusätzliches Attr-Feld für den Aufschlag angelegt und das Feld in der Regel hinterlegt. Heiner
danke das geht auch soweit, hast du meine Nachricht bekommen mit der Frage?