-
Virtuemart Warenkorbanpassung - brauche dringend Hilfe
Einen schönen guten Abend liebe Joomlagemeinde,
habe hier ein kleines Problem. Ich muss bei der Warenkorbberechnung von der Summe des Produkts einmal den Produktpreis abziehen... Wo mache ich das?
Hintergrund: Ich möchte auf Produkte eine einmalige Service-Fee aufschlagen, die nicht in Abhängigkeit der Menge berechnet wird.
Beispiel: Ich verkaufe Schokolade das Stück zu 1,00 Euro, nun kann der Kunde unter Attribute eine Geschenkverpackung wählen zu 3,00 Euro.
Bis jetzt wird dann berechnet:
10 x (1,00 Euro + 3,00 Euro) = 40,00 Euro
Ich möchte aber:
(10 x 1,00 Euro) + 3,00 Euro = 13,00 Euro
Ich habe das nun so gelöst:
In der Produktdetailseite habe ich das Eingabefeld für die Menge entfernt und die Menge ($quantity) auf 1 gesetzt, damit der Artikel im Warenkorb landet und die Attribute zur Berechnung kommen.
Bei den Attributen habe ich nun unter anderem ein Feld "Anzahl" und Feld "Verpackung" eingetragen. Der Kunde trägt nun bei Anzahl die Menge ein und wählt unter Verpackung seine Verpackung aus.
Beispiel Schokolade:
Attribut Anzahl: 10 Stück zu je 1,00 Euro
Attribut Verpackung: Golden Klassik zu 3,00 Euro
Nun wird mir im Warenkorb berechnet:
Artikelpreis: 1 x 1,00 Euro
+ Attribut Anzahl: 10 x 1,00 Euro
+ Attribut Verpackung: 1 x 3,00 Euro
= 14,00 Euro
Natürlich könnte ich den Artikelpreis des Produktes auf 0,00 Euro setzen, dann würde die Berechnung stimmen. Aber dann wird mir im Shop auch kein Preis angezeigt. Und alle Preise per Hand in der Übersicht, auf der Produktdetailseite, bei der Suchfunktion etc. von Hand einzutragen ist nun wirklich irrsinnig.
Deshalb muß ich bei der produktbezogenen Summenberechnung im Warenkorb eigentlich nur einmal den Produktpreis (ich glaube das ist $price) abziehen.
Da such ich mir gerade den Wolf und komm nicht drauf. Hilfe!
Hoffe Ihr könnt mir helfen,
Liebe Grüße
Jürgen
-
-
So geht's
In der basket.php füge ich die folgende Abfrage ein:
Das ist die Abfrage:
$xy_price = $ps_product->get_price($cart[$i]["product_id"], $cart[$i]["description"]);
Und rufe dann die Variable auf:
$xy_price["product_price"]
Die geänderten Zeilen (ab Zeile 95) schauen dann wie folgt aus:
/* Product PRICE */
$my_taxrate = $ps_product->get_product_taxrate($cart[$i]["product_id"], $weight_subtotal);
$tax = $my_taxrate * 100;
$price = $ps_product->get_adjusted_attribute_price($cart[$i]["product_id"], $cart[$i]["description"]);
$xy_price = $ps_product->get_price($cart[$i]["product_id"], $cart[$i]["description"]);
if( $auth["show_price_including_tax"] == 1 ) {
$product_price = ($price["product_price"] - $xy_price["product_price"] )* ($my_taxrate+1);
} else {
$product_price = $price["product_price"] - $xy_price["product_price"] ;
}
-
-
Neu an Board
Hallo,
wird denn bei dieser Variante das Gewicht mit bedacht für die Versandkosten?
Ich meine ansonsten könnte ich auch die Eingabe für die Menge im Backend ausschalten und diverse Attribute anlegen wo z. B. 1Stück (preis) plus 2,00 fee, 2Stück (preis) plus 2,00 fee,...usw steht.
Ich benötige dringend eine Lösung wie ich einmalig eine Art Service Charge auf den Artikel bringen kann und nicht nur 1 Stück sondern 3,4,5,6,7,....bestellen kann und das zudem noch das gewicht für den Versand korrekt berechnet wird.....
-
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
Foren-Regeln
Lesezeichen