Ich weiß nicht wie lange ich versucht habe den Stückpreis in die Transaktionsemail von Magento zu bekommen.
Standardmäßig wird vom System in der Bestellemail nur
- Artikelname (Name)
- Artikelnummer (SKU)
- Stückzahl (Qty)
- Zwischensumme (Subtotal)
ausgegeben. Ein Kunde wollte aber gerne zusätzlich die Spalte “Preis” bzw. Stückpreis haben.
Die (Ver-)Suche war lang und steinig aber schlussendlich von Erfolg gekrönt. Für die korrekte Ausgabe der neuen Spalte sind zwei Templatedateien zuständig. Auf der einen Seite -für die neue Spalte selber- die
items.phtml
im Ordner
app/design/frontend/[base oder default]/[IhrTemplate]/template/email/order
und auf der anderen Seite -für die Füllung der Spalte- die
default.phtml
im Ordner
app/design/frontend/[base oder default]/[IhrTemplate]/template/email/order/items/order
(die Ordner können sich mit den Magentoversionen ein wenig verändert haben, die Dateien sind aber dieselben).
Um nun in die eMail zuerst eine neue Spalte einzufügen, legen wir folgende Zeile ca. in Zeile 33 in die items.phtml
<th align=”center” bgcolor=”#d9e5ee” style=”padding:3px 9px”><?php echo $this->__(‘Price’) ?></th>
Nun wird eine neue Spalte angezeigt. Jedoch fehlt noch die Füllung.
Hierfür wird die default.phtml geöffnet und folgender Code ca. in Zeile 49 kopiert
<td align=”right” valign=”top” style=”padding:3px 9px”><?php
if ($this->helper(‘tax’)->displaySalesPriceInclTax($_order->getStore())) {
$itemprice = $this->helper(‘checkout’)->getPriceInclTax($_item) ;
echo $this->helper(‘checkout’)->formatPrice($itemprice);
} else {
echo $this->helper(‘checkout’)->formatPrice($_item->getPrice()) ;
} ?>
</td>
Dieser Code sorgt für die Füllung und gleichzeitig für richtige Brutto- und Nettodarstellung.
Nun haben wir aber noch das Problem, dass die Summe nicht rechts steht und somit ein wenig komisch aussieht. Hierfür öffnen wir wiederum die
sales.xml
aus dem Ordner
app/design/frontend/[base oder default]/[IhrTemplate]/layout
und suchen dort nach
Email layouts section
Hier ca. in Zeile 247 findet sich dann
<action method=”setLabelProperties”><value>colspan=”3” align=”right” style=”padding:3px 9px”</value></action>
hier die colspan auf “4” ändern und schon klappt es.
Genutzt in Magento Versionen 1.4.1.1 und 1.5.1.0 Kommentare? Ergänzungen? Hinweise? Gerne!
Hallo,
super Anleitung – vielen Dank! Ich habe es für Magento 1.7 umgesetzt und es funktioniert bis auf eine Klenigkeit auch:
Der letzte Schritt, in dem die Summe nach rechts verschoben wird, funktiert nicht. colspan habe ich auf 4 geändert in der sales-xml, aber die Summe steht trotzdem nicht rechtsbündig in der Tabelle. Hast du eine Idee, woran das liegen könnte? Ist hier der Aufbau gegenüber Magento 1.4 /1.5 anders?
Vielen Dank!
Hi, das kann ich leider nicht per Ferndiagnose sagen. Da es -wie geschrieben- eine Spezialanpassung war, haben wir das seit dem nicht mehr gemacht. Müsste man sich einmal im Detail anschauen.
Hallöle,
hab das gerade auch in Magento 1.8.1 hinbekommen, allerdings bin ich am Ende auch an der sales.xml hängen geblieben, aber hab den Fehler schnell gefunden, da hat die sales.xml aus base/default die sales.xml aus default/meintheme überschrieben, obwohl das ja eigentlich anders rum sein sollte o_o
Danke für die tolle ausführliche Anleitung.