Frage

Ich habe einen Beobachter an „sales_order_place_before“ Ereignisse hinzugefügt und will Endsumme anpassen, bevor die Zahlungsabwicklung. aber ich habe viel versucht, den Kurspreis zu ändern, aber es funktioniert nicht.

Hat jemand eine Idee ??

War es hilfreich?

Lösung

Sie müssen nach dem Gesamtergebnis eines neuen Sammler hinzufügen (Mage_Sales_Model_Quote_Address_Total_Grand). Es hat Summe zu ändern, die von großen Kollektorfläche gesetzt wurde.

Ich sprach über einen solchen Fall bei MageConf Konferenz in der Ukraine vor einer Woche. Video und Dias sind noch nicht verfügbar, aber Sie können Download Demo-Modul dass wurde bei der Konferenz beschrieben. Es ist ein Beispiel für Gesamtkollektorfläche, dass berechnet Verpackungspreis.

Sie können meine Demo Gesamtkollektorfläche ändern, so dass es Prozess nach einem Grand-Gesamtkollektorfläche bei der Sammlung eingefügt werden (siehe config.xml in Modul etc Verzeichnis - Entfernen <before>subtotal</before> Knoten verwenden <after>grand_total</after> statt) und ändern dann collect () Methode nur Endsummen auf Ihre vorgegebenen Werte eingestellt werden:

$address->setGrandTotal($someValue);
$address->setBaseGrandTotal($someBaseValue);

Oder Sie können dieses Modul lassen, wie es ist, aber Satz negative Summen drin. So Gesamtsumme Kollektor wird sie subtrahieren und Endsumme Wert senken, wie Sie wollen. Auch in einem solchen Fall Kunde in der Lage, Ihre negative Werte (geben Sie sie in fetch () Methode) und verstehen, warum Endsummen zu sehen, wurden gesenkt.

Haben Sie Spaß:)

Andere Tipps

Sie können nicht haben Sie einen neuen Gesamt Objekt machen oder fügen Sie Summen als virtuelle Produkte

Bitte beachten

Mage_Sales_Model_Quote_Address_Total_Abstract Mage_Sales_Model_Order_Invoice_Total_Abstract Mage_Sales_Model_Order_Creditmemo_Total_Abstract

, um zu sehen, was benötigt wird, ein Gesamtobjekt zu implementieren. Sie könnten auch die Rate Objekte erweitern müssen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top