Magento-E-Mail-Templates

Mit den Anweisungen IF und DEPEND in Magentos E-Mail-Templates (System->Transaktions-E-Mails) kann man die Ausgabe einzelner Inhalte bedingungsabhängig komfortabel steuern.

Dies gelingt jedoch nur mit "booleschen" Abfragewerten, das heißt mit der Unterscheidung von "richtig" und "falsch" bzw. mit der Unterscheidung der Werte "ungleich 0" und "0" (z.B. {{depend order.getIsNotVirtual()}}). Möchte man beispielsweise einen Block abhängig von der Zahlart Vorauskasse ausgeben, muss man entsprechende Vorbereitungen treffen. Da die "order"-Direktive in Magentos E-Mail-Vorlagen auf nichts anderes Bezug nimmt, als auf die in der \app\code\core\Mage\Sales\Model\Order.php definierte Klasse Mage_Sales_Model_Order, könnte man sich den Code der gewählten Zahlungsart zwar über die Direktive {{var order.getPayment().getMethodInstance().getCode()}} besorgen, aber dann im Rahmen der IF bzw. DEPEND-Anweisung nichts weiter damit anfangen. Hier hilft die Einrichtung einer kleinen Funktion in der (hoffentlich vorher von \app\code\core\Mage\Sales\Model\Order.php nach \app\code\local\Mage\Sales\Model\Order.php kopierten) Klasse Mage_Sales_Model_Order:

public function isCheckmo() {
if ($this->getPayment()->getMethodInstance()->getCode() == 'checkmo') {
return true;
} else {
return false;
}

... zurück zum Blog