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.

Herr Green
quelle
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);
}
David Manners
quelle