Magento: Steuer auf zusätzliche Gebühr in der Kasse falsch

8

Ich habe eine zusätzliche Gebühr zu meiner Kasse hinzugefügt, aber die Steuer wird nicht korrekt berechnet.

Der Steuerbetrag wird nicht korrekt addiert, wenn ich $ this- & gt; _calculateTax ($ address); in der Sammlungsfunktion wird es auf den Gesamtbetrag einschließlich Steuern addiert, aber mein Steuerbetrag ist immer noch von dann.

if ist var_dump der Satz angewendet Steuern nach der Zeile $ address- & gt; setAppliedTaxes ($ zuvorAppliedTaxes); Ich sehe die richtige Menge. Es gibt zwei Mal ab, das erste Mal, dass ich die korrekte Steuermenge nur für meine zusätzliche Gebühr sehe, die zweite die korrekte Summe an Steuern. Aber im Frontend zeigt es die Steuer ohne die Steuer meiner zusätzlichen Gebühr.

Irgendwelche Hinweise darauf, was das sein könnte?

%Vor%

BEARBEITEN 1 XML enthält das:

%Vor%

BEARBEITEN 2 Ich habe die folgenden Zeilen zu meiner calcTax-Funktion hinzugefügt, dies korrigiert die Gesamtsumme, aber die Menge an TAX ist immer noch ausgeschaltet.

%Vor%

OUTPUT - Beispiel

%Vor%

BEARBEITEN 3 Mein Fehler, nur der GoMage-Onepage-Checkout gibt die korrekte Gesamtsumme, der Warenkorb nicht. Der reguläre Magento-Onepage-Checkout gibt auch die falsche Gesamtmenge aus.

    
PvdL 03.08.2012, 15:49
quelle

3 Antworten

5

Ich habe einen Workaround gefunden, es ist nicht die beste Lösung, aber es funktioniert :)

In meiner Adresse werde ich die Steuer auf eine zusätzliche var genannte Steuer setzen und diese im Beobachter verwenden, um die Steuer zu manipulieren.

%Vor%

Und das XML

%Vor%     
PvdL 13.08.2012, 13:47
quelle
2

Möchten Sie die vorhandene Steuerwerbebuchung ändern oder eine neue hinzufügen? Können Sie den Eintrag config.xml für das gesamte Modell anzeigen?

Wenn Sie eine neue Steuerwerbebuchung hinzufügen, sollte dies ausreichend sein. Testen Sie dies einfach mit CE 1.7 vanilla install:

%Vor%

Mit ausreichend, ich meine, dass dies das absolute Minimum sein sollte, das Sie benötigen, um diese Steuerwerbebuchung zu erhalten.

Damit in Ihrer config.xml:

%Vor%     
kalenjordan 08.08.2012 01:05
quelle
2

Lesen Sie weiter unten. Ich denke, dass Ihnen diese Hilfe sehr hilft: -

Siehe URL unten

Ссылка

Magento Gebühr oder Rabattauftragssumme hinzufügen

In diesem Tutorial erfahren Sie, wie Sie eine neue Werbebuchung zu Magento-Bestellsummen hinzufügen. Was bedeutet das, wie man eine zusätzliche Gebühr oder einen Rabatt oder irgendeine Art von Gebühr an die Bestellsumme des Magento-Checkout-Prozesses hinzufügt. In einer typischen Reihenfolge enthalten die Auftragssummen normalerweise Gesamtsumme, Versandkosten, Steuern, Rabatt, basierend auf diesen Werten wird die Gesamtsumme der Bestellung berechnet. Wenn wir nun eine zusätzliche Kreditkartengebühr oder einen Überweisungsfrei- oder Affiliate-Rabatt oder eine andere Bestellsumme hinzufügen möchten, die sich auf die Gesamtsumme der Bestellung auswirken, müssen wir ein Magento-Modul erstellen. Diese zusätzliche Gebühr, die wir dem Gesamtbetrag hinzufügen, würde sich im

widerspiegeln
  • Gesamte Seitenzahl der Bestellung auschecken
  • Einkaufswagenseitenreihenfolge gesamt
  • Meine Bestellansicht für Bestellungen
  • Bestellung von EMails
  • Admin-Bestellansicht / E-Mail / PDF
  • Admin-Rechnungsansicht / E-Mail / PDF
  • Administrator Gutschriftansicht / E-Mail / PDF

Wie Sie anhand der obigen Liste sehen können, ist dieses Modul nicht einfach. In diesem Tutorial füge ich die Quelle eines so grundlegenden Moduls an, das Sie als Ausgangspunkt verwenden können, um eine zusätzliche Änderung hinzuzufügen. Ich würde auch die Grundlagen erklären, wie dies zu implementieren ist. In diesem Tutorial werde ich eine neue Bestellsumme hinzufügen, die 'Gebühr' genannt wird, mit einem festen Preis von 10 $.

Oder versuchen Sie es: -

Seite "Gesamtzahl der Bestellungen insgesamt"

Wir werden sehen, wie die Summen nur zur Checkout-Seite hinzugefügt werden. Alle Summenwerbebuchungen, die die Checkout-Seite anzeigen, stammen aus Dateien im Ordner Mage \ Sales \ Model \ Quote \ Address \ Total. In Magento bevor die Bestellung aufgegeben wird, werden alle Bestelldaten in einem Angebotsobjekt gespeichert und nach der Bestellung wird sie in das Bestellobjekt übertragen. Die Quotensummen folgen dem Kollektormuster und wir können Kollektor so viele Kollektorklassen hinzufügen. Um Collector zum Zitatobjekt in unserer config.xml hinzuzufügen, fügen wir die Zeilen

hinzu %Vor%

Dies bedeutet, dass, wenn die Summen für ein Angebot berechnet werden, auch diese Klasse aufgerufen wird. Alle Collectors werden über die Funktion collectTotals () im Angebotsmodell aufgerufen. In unserer Sammelklasse haben wir den Code

eingegeben %Vor%

Die beiden Hauptfunktionen sind hier collect () und fetch (). In der Sammlungsfunktion fügen Sie den gewünschten Betrag zu den gewünschten Summen hinzu, und fetch () wird für Anzeigezwecke verwendet. Wenn dies ordnungsgemäß durchgeführt wird, sollten Sie Ihre Bestellsumme auf der Kauf- und Warenkorbseite sehen. Hier verwenden wir zwei Felder fee_amount und base_fee_amount, die unseren Gebührenbetrag enthalten. Wir müssen sehen, dass diese beiden Felder in der Datenbank gespeichert werden, daher fügen wir in unserer Modul-Installer-Datei diesen Code hinzu

%Vor%

Bestellseite

Bis jetzt wurde der gesamte Code nur für das Zitatobjekt geschrieben. Nach der Bestellung müssen wir jedoch alle Informationen an das Auftragsobjekt übertragen. Wie Sie oben gesehen haben, verwenden wir die beiden Felder fee_amount und base_fee_amount. Diese beiden Felder müssen nun auch in der Auftragstabelle gespeichert werden. Um all das zu tun, müssen wir zwei Dinge tun. Fügen Sie zuerst in der Datei config.xml diesen Code in der globalen Registerkarte

hinzu %Vor%

und in unserer Modul-Installationsdatei

%Vor%

Danach sollten diese beiden Felder in der Auftragstabelle aus der Quote-Tabelle gespeichert werden.

Dies sind nur die Grundlagen zum Hinzufügen einer Werbebuchung zur Bestellsumme. Ruhe da ist viel Code geschrieben in das angehängte Modul, bitte gehen Sie es im Detail durch, um mehr zu verstehen.

    
Abid Hussain 08.08.2012 06:53
quelle

Tags und Links