Reihenfolge der Beträge in Magento

Mit ein wenig Programmieraufwand kann man Magento dazu bringen, die Reihenfolge der Beträge im Bestell-Prozess, im Warenkorb und in der Aufstellung innerhalb der versandten E-Mails zu verändern - hier am Beispiel der Steuern, die wir hinter den Gesamtbetrag verschieben möchten (die Veränderung der Reihenfolge im Adminbereich unter System->Konfiguration->VERKÄUFE->Verkäufe->"Reihenfolge der Gesamtbeträge des Bezahlvorgangs" führt hier zu keinem Erfolg):



1) In Magento-Backend:
System->Konfiguration->VERKÄUFE->Steuer->"Warenkorb Anzeige-Einstellungen"->"Steuer in Gesamtsumme einschließen"
und
System->Konfiguration->VERKÄUFE->Steuer->"Anzeigeeinstellungen für Bestellungen, Rechnungen, Gutschriften"->"Steuer in Gesamtsumme einschließen"
auf "ja" setzen.

2) Gesamtsumme zzgl. MwSt. auskommentieren und Steuer-Darstellung hinter Gesamtsumme inkl. MwSt. verschieben in \app\design\frontend\TEMPLATENAME\default\template\tax\checkout\grandtotal.phtml:

Die folgende Passage wird auskommentiert, wird also von
<tr>
<td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
<strong><?php echo $this->helper('tax')->__('Grand Total Excl. Tax')?></strong>
</td>
<td style="<?php echo $this->getStyle() ?>" class="a-right">
<strong><?php echo $this->helper('checkout')->formatPrice($this->getTotalExclTax()) ?></strong>
</td>
</tr>

zu
<?php /*
<tr>
<td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
<strong><?php echo $this->helper('tax')->__('Grand Total Excl. Tax')?></strong>
</td>
<td style="<?php echo $this->getStyle() ?>" class="a-right">
<strong><?php echo $this->helper('checkout')->formatPrice($this->getTotalExclTax()) ?></strong>
</td>
</tr> */
?>

Die Steuerdarstellungen verschieben wir so dass folgender Codeabschnitt
<?php echo $this->renderTotals('taxes', $this->getColspan()); ?>
<tr>
<td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
<strong><?php echo $this->helper('tax')->__('Grand Total')?></strong>
</td>
<td style="<?php echo $this->getStyle() ?>" class="a-right">
<strong><?php echo $this->helper('checkout')->formatPrice($this->getTotal()->getValue()) ?></strong>
</td>
</tr>

durch diesen ersetzt wird
<tr>
<td style="<?php echo $this->getStyle() ?>" class="a-right" colspan="<?php echo $this->getColspan(); ?>">
<strong><?php echo $this->helper('tax')->__('Grand Total')?></strong>
</td>
<td style="<?php echo $this->getStyle() ?>" class="a-right">
<strong><?php echo $this->helper('checkout')->formatPrice($this->getTotal()->getValue()) ?></strong>
</td>
</tr>
<?php echo $this->renderTotals('taxes', $this->getColspan()); ?>

3) Möchte man statt "Steuer" beispielsweise noch "Steuer (19 % von 19,38 €)" o.ä. einsetzen, kann man hierzu die Datei \app\design\frontend\TEMPLATENAME\default\template\tax\checkout\tax.phtml verändern.

4) Nun sind wir noch nicht ganz fertig, da durch die bisher durchgeführten Änderungen nur der Warenkorb und Checkout angepasst wurden. Um die Bestellbestätigung anzupassen, müssen wir uns daher noch der Datei \app\design\frontend\TEMPLATENAME\default\template\sales\order\totals.phtml zuwenden. In dieser erreicht man durch die Programmierung dieser if-Schleife

<?php if ($_code != "grand_total" && $_code != "tax") { ?>

, dass der Gesamt-Betrag zzgl. Steuer und die Steuer selbst nicht ausgegeben wird. Die Ausgabe der Steuer wird dann beispielsweise durch eine Wiederholung der foreach-Schleife mit der Beschränkung auf

<?php if ($_code == "tax") { ?>

durchgeführt.

5) Möchte man auch in der von Magento versandten Bestell-Bestätigungs-E-Mail die Bezeichnung "Steuer" verändern (siehe Punkt 3), kann man dies in der Datei \app\design\frontend\TEMPLATENAME\default\template\tax\order\tax.phtml machen.

6) Fertig.

... zurück zum Blog