Ich versuche, das Magento reloadPrice()
zu verwenden jQuery
, um den Preis zu aktualisieren. Ich habe ein konfigurierbares Produkt mit benutzerdefinierten Optionen. Ohne lautet jQuery
der SELECT
Code für die Option:
<select id="select_281" class=" required-entry product-custom-option" title="" name="options[281]" onchange="opConfig.reloadPrice()">
<option value="0"></option>
<option rel="1" price="0" value="275"></option>
<option rel="2" price="0" value="276"></option>
</select>
Mit jQuery entferne ich den Prototype onchange-Code und versuche, den Preis für meine Option zu berechnen (z. B. 50 USD):
jQuery('#select_281').removeAttr('onchange').change(function(){
//Price of the option to add to a basic price of the conf product
price = 50;
optionsPrice.changePrice('opConfig', price);
optionsPrice.reload();
});
Preis des konfigurierbaren Produkts: $ 150.
Fügen Sie eine Option hinzu (SELECT)
: Wir fügen 50 US-Dollar hinzu.
Der neue Preis von 200 US-Dollar wird auf der Produktseite angezeigt, jedoch nicht auf der Warenkorbseite: Auf der Warenkorbseite werden nur 150 US-Dollar angezeigt, was nicht korrekt ist.
quelle
Die Lösung: Verwenden Sie 2 Beobachter:
Es läuft gut, aber ... eine Frage bleibt:
Wenn der Benutzer auf der Warenkorbseite auf den Link "Bearbeiten" klickt, um das Produkt auf der Produktseite zu bearbeiten, damit er die Menge ändern kann, und auf die Schaltfläche "Warenkorb aktualisieren" klickt, liest diese Aktualisierungsschaltfläche nicht den checkout_cart_product_add_after, um den Preis zu aktualisieren.
Wie kann diese Aktion "Warenkorb aktualisieren" erzwungen werden, um den Code in checkout_cart_product_add_after Observer zu verarbeiten? Wird dieser Code nur ausgeführt, wenn das Produkt zum ersten Mal in den Warenkorb gelegt wird?
Vielen Dank.
filtern
quelle