Wie debugge ich eine E-Mail-Vorlage?


8

Ich arbeite daran, E-Mail-Vorlagen zu ändern. {themeName}/template/email/order/items/order/default.phtml

Die obige Vorlage wird ausgelöst, wenn der Benutzer ( Gast oder Kunde ) die Bestellung aufgegeben hat.

In der obigen Vorlage gibt es einige Variablen wie:

$_item = $this->getItem();
$_order = $this->getItem()->getOrder(); 

Wenn ich Debugging-Methoden wie Mage::logoder verwende zend_debug::dump, hängt die Checkout-Seite und die Bestellung wird nie bearbeitet.

Meine Frage ist also, was ich verwenden soll, um E-Mail-Vorlagen hier zu debuggen.

Ich habe auch verwendet, echodass immer eine leere Zeichenfolge oder arrayfür ein Array mit Variablen angezeigt wird.


Kann mir bitte jemand sagen, wie ich order_id aus den oben genannten Variablen erhalten kann?
Mr_Green

Haben Sie versucht, Mage::login der Blockklasse ( Mage_Sales_Block_Order_Email_Items_Order_Default) zu verwenden?
Nevvermind

@nevvermind Ich habe versucht , Mage::login Mage_Sales_Block_Items_Abstract. Das hat das gleiche Problem wie oben in meinem Beitrag erwähnt. Ich habe keine Beziehung zu Ihrer erwähnten Klasse bekommen.
Mr_Green

Die E-Mail-Adresse ist in app/locale/en_US/template/email/sales/order_new_guest.html(für Gäste). Dort wird ein Layout-Handle eingefügt - sales_email_order_items. Dieses Handle ist in deklariert app/design/frontend/base/default/layout/sales.xml. Für die Vorlage, mit der Sie Probleme haben, ist der Block auf " sales/order_email_items_order_defaultaka" gesetzt Mage_Sales_Block_Order_Email_Items_Order_Default.
Nevvermind

@nevvermind Danke für die Info. Eigentlich bekomme ich die Produkte HTML zu der E-Mail von {themeName}/template/email/order/items/order/default.phtml ( ich habe es gründlich überprüft ) Der andere Teil der E-Mail wie "Danke für den Kauf .. bla bla bla" kommt von dem, was Sie oben erwähnt haben ( ich habe es aber nicht überprüft Ich denke schon ). Um ehrlich zu sein, ich habe dieses Problem gelöst, aber meine Frage ist, wie man in diesen E-Mail-Vorlagen debuggt.
Mr_Green

Antworten:



2

Sie können auch versuchen, Mage::log($your_object->debug());dies wird Ihnen hoffentlich die Informationen geben, die Sie benötigen.

Es zeigt Ihnen alle Objektdaten als Array von Schlüssel => Wert und zeigt Ihnen die Klasse aller Unterdaten, die ein Objekt sind.

if (is_scalar($value)) {
    $debug[$key] = $value;
} elseif (is_array($value)) {
    $debug[$key] = $this->debug($value, $objects);
} elseif ($value instanceof Varien_Object) {
    $debug[$key.' ('.get_class($value).')'] = $value->debug(null, $objects);
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.