Magento 1.9.3: Wie wird der Preis für benutzerdefinierte Optionen (separat) auf dem Warenkorb und der Checkout-Seite angezeigt?


11

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!


Hallo Chandra Bhushan, ob Sie eine Ausgabe benötigen, wie in diesem Screenshot gezeigt? prnt.sc/fbjupp
Nagaraju K

ja, aber einige Änderungen. In Ihrem Screenshot ist der benutzerdefinierte Optionspreis (238 USD und 30 USD) nicht in der Zwischensumme enthalten. Ich muss jedoch die Zwischensumme hinzufügen. Laut Ihrem Screenshot brauche ich das - "(Stückpreis (35,62 $) + Rahmenoption (30 $)) * 2 (Menge) + Quadrat (238 $ * 1) = 369,24 $ (Zwischensumme des Produkts)"
Chandra Bhushan

Sie melden "Schwerwiegender Fehler: Aufruf einer Mitgliedsfunktion getValue ()", aber ich kann kein getValue () in Ihrem Code sehen ¿?
Raul Sanchez

Antworten:


1

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.