Magento – Individuelle Optionen – Gesamtpreis anzeigen / nicht + und –

Bild

Über die individuellen Optionen bei Artikeln können verschiedene “Extras” des Artikels angesprochen werden. Sollen Veränderungen dazu kommen oder abgezogen werden (z.B. Farbänderung, Zubehör…) aber auch Gewichte können so erfasst werden, ohne dass direkt über einen konfigurierbaren Artikel immer neue Artikel angelegt werden müssen (die Lagerverwaltung fällt für die Optionen aber flach).

Nun werden diese Optionen standardmäßig mit einem “+” für Aufpreis und einem “-” für Nachlass vesehen. Soll aber direkt der Endpreis angezeigt werden, kann dies über eine Änderung einer Datei geschehen.

Fein wäre es hierfür eigene Templatedateien zu schreiben. So sollte man es machen, um updatesicher zu sein. Wer aber schnell eine Lösung haben möchte, kann die Datei

Abstract.php im Ordner app/code/core/Mage/Catalog/Block/Product/View/Options anpassen. Dies geschieht ca. ab Zeile 127

$priceStr = $sign;
$_priceInclTax = $this->getPrice($value[‘pricing_value’], true);
$_priceExclTax = $this->getPrice($value[‘pricing_value’]);

Diese drei Zeilen können ersetzt werden z.B. durch

# $priceStr = $sign;
$_priceInclTax = $this->getPrice($value[‘pricing_value’], true)+$this->getProduct()->getFinalPrice();
$_priceExclTax = $this->getPrice($value[‘pricing_value’])+$this->getProduct()->getFinalPrice();

wobei das “#” diese Zeile auskommentiert und somit keine “+” und “-” mehr verwendet werden. Da die sign Zeile auskommentiert ist (kann auch gelöscht werden), könnten auch die Zeilen oberhalb, die das sign definieren entfernt werden

$sign = ‘+’;
            if ($value[‘pricing_value’] < 0) {
            $sign = ‘-‘;
            $value[‘pricing_value’] = 0 – $value[‘pricing_value’];Bild

Wie gesagt, dies ist eine schnell Lösung, die aber zum Ergebnis führt.

Eine mittelschnelle Methode ist die Abstract.php zu kopieren und in den Ordner /app/code/local/Mage/Catalog/Block/Product/View/Options zu legen. Änderung in dieser Datei überschreiben dann die Core Datei. Somit ist die Änderung schon deutlich updatesicherer.

P.S. Für Konfigurierbare Produkte eignet sich diese Lösung nicht. Hier empfehlen wir diese Extension.

Genutzt in Magento Version 1.5.1.0 Kommentare? Ergänzungen? Hinweise? Gerne!

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2E-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C-, B2B- und B2E-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

20 comments on “Magento – Individuelle Optionen – Gesamtpreis anzeigen / nicht + und –”

      1. wir reden doch von den konfigurierbaren produkten, richtig? also ich habe den code genauso eingebaut und bei mir tut sich rein garnix 🙁 es sieht im pulldown genauso aus wie vorher…

  1. P.S. In diesem Beispiel ging es übrigens nicht um ein Konfigurierbares Produkt. Es heißt nur, dass man sich mit den Optionen das ein oder andere KoPro sparen kann.

    1. Haben Sie zufällig für Konfigurierbare Produkte so eine geschickte Lösung? Bei mir ist Magento 1.6.2.

          1. Danke für den Hinweis. Jedoch ist dies ja nicht die Antwort auf die im Beitrag gestellte Frage bzw. die Lösung zu dem Problem.
            Dies entfernt ja “nur” die Preise. Gewünscht ist aber, dass die Endpreise direkt hinter der Option angezeigt werden.
            Aber wie gesagt, danke für den Hinweis!

  2. Das ist cool. Hat schonmal geklappt. 70€ programmierer gesparrt haha

    Hast du auch eine Lösung für Rabattpreise?
    Weil das rechnet er nicht auf die individuellen optionen rauf.
    Hab die als Staffelpreis genommen. Wenn ich den basispreis aber als Rabatt mache, dann sagt er am ende bei z.b 100 stück:

    Regulärer Preis:30,13 €
    Sonderpreis:30,00 €

    Dabei müssten es eigentlich 13€ sein und nicht 13 cent.

  3. Jetzt kommen folgende fehler?

    2012-11-15T20:32:24+00:00 ERR (3): Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /home/schnellg/public_html/app/code/core/Mage/Captcha/Model/Observer.php on line 166

    2012-11-15T20:32:56+00:00 ERR (3): Notice: Undefined variable: priceStr in /home/schnellg/public_html/app/code/core/Mage/Catalog/Block/Product/View/Options/Abstract.php on line 135

    2012-11-15T20:33:45+00:00 ERR (3): Notice: Undefined index: invoice in /home/schnellg/public_html/app/code/core/Mage/Paypal/Model/Ipn.php on line 171

  4. Hallo,

    vielen Dank für diesen Beitrag, habe eine Ewigkeit danach gesucht. Ich habe aber eine weitere Frage: Wie kann ich eine “Katalog Preisregeln” auf die Preise der Individuelle Optionen anwenden? Mein Preisregeln wird lediglich auf den Hauptpreis angewendet.

    Besten Dank im Voraus für eine Antwort.

    VG, Afschin

  5. Die Anführungszeichen sind oben nicht korrekt gesetzt, so dass es nicht funktioniert, wenn man den Code kopiert. Hier die korrekte Version:

    $_priceInclTax = $this->getPrice($value[‘pricing_value’], true)+$this->getProduct()->getFinalPrice();
    $_priceExclTax = $this->getPrice($value[‘pricing_value’])+$this->getProduct()->getFinalPrice();

  6. Hallo ,

    kennt jemand eine Lösung,
    Wenn ich Filter wird nur der Configurierbare Produkt berücksichtigt aber nicht der Preis vom einfachen Produkt.

    Beispiel

    Konfigurierbares Produkt
    Name: Gold

    Preis ab 1.000,–

    Varianten : 0,0001 KG 1.000
    1 KG 25.000
    2 Kg 50.000

    etc.

    Wenn ich nun Filtern Will geht der Range nur bis 1000,–
    die Einfachen Produkte sind einzeln nicht sichtbar.

    Vielen Dank für eure Hilfe

    Johannes

Leave a Reply to Afschin

Your email address will not be published. Required fields are marked *