Ich möchte den benutzerdefinierten Optionspreis auf dem Warenkorb und der Checkout-Seite anzeigen.
Ich folge dieser URL, aber ihr Anzeigefehler "Schwerwiegender Fehler: Aufruf einer Mitgliedsfunktion getValue () für ein Nicht-Objekt" auf
app / design / frontend / default / theme / template / checkout / cart / item / default.phtml
$optionId = $_option['option_id'];
$product = $_item->getProduct();
$option = $product->getOptionById($optionId);
$itemOption = $_item->getOptionByCode('option_' . $option->getId());
$price = false;
foreach ($option->getValues() as $values) {
if ($values->getId() == $itemOption['value']) {
$price = $values->price;
}
}
if ($price !== false) {
echo Mage::helper('core')->currency($price);
}
Referenz-URL: /programming/11966256/magento-custom-options-showing-price-in-cart-checkout-page
Ich habe eine weitere Anforderung mit benutzerdefiniertem Optionspreis auf Warenkorb und Checkout-Seite.
Bitte öffnen Sie den folgenden Link und aktivieren Sie das Kontrollkästchen "Interessiert an Stickerei". Einige Optionen zeigen an, welche Produkte benutzerdefinierte Optionen sind. Hier haben zwei Optionen den Preis "Logo Creation Fee" und "Embroidery Logo Charge" . Wenn ich alle Optionen auswähle und zum Warenkorb hinzufüge. Wenn ich auf der Warenkorbseite die Produktmenge erhöhe, erhöht sich der Preis aller Optionen mit der Menge. Ich möchte jedoch, dass bei einer Erhöhung der Produktmenge nur die benutzerdefinierte Option "Sticklogoladung (35 USD)" mit der Menge variiert, nicht "Logoerstellungsgebühr (300 USD)" .
Beispiel: Wenn der Produktpreis 50 US-Dollar beträgt und das Produkt über zwei benutzerdefinierte Optionen verfügt, z. B. "Gebühr für die Logoerstellung (300 US-Dollar)" und "Gebühr für das Sticklogo (35 US-Dollar)" . Wenn wir das Produkt (Menge 1) mit beiden benutzerdefinierten Optionen in einen Warenkorb legen (Zwischensumme beträgt 385 USD).
Zwischensumme ist: (Produktpreis (50 USD) + Logoerstellungsgebühr (300 USD) + Gebühr für das Sticklogo (35 USD)) * 1 = 385 USD
Jetzt erhöhen wir die Produktmenge (2), dann ist die Zwischensumme:
Zwischensumme ist: (Produktpreis (50 USD) + Logoerstellungsgebühr (300 USD) + Gebühr für das Sticklogo (35 USD)) * 2 = 770 USD
Aber ich möchte die Zwischensumme ändern. Ich möchte eine Zwischensumme wie diese:
Zwischensumme ist: ((Produktpreis (50 USD) + Gebühr für das Sticklogo (35 USD)) * 2) + Gebühr für die Erstellung des Logos (300 USD) = 470 USD (170 USD + 300 USD)
"Logo Creation Fee ($ 300)" variiert nicht mit der Menge, sondern fügt nur eine Menge für ein Produkt hinzu.
Bedeutet die "Stückpreis" -Anzeige des Produkts ohne den Preis der benutzerdefinierten Option.
Demo-URL: http://superbuniforms.com/magento/medical-lab-coat-unisex-sky-blue.html
Bitte vorschlagen.
Vielen Dank!
quelle
Antworten:
Sie müssen die HTML-Datei überschreiben und den benutzerdefinierten Preis hinzufügen.
app\design\frontend\venoder\theme\Magento_Catalog\templates\product\view\addtocart.phtml
.quelle