Come eseguire il debug di un modello di email?


8

Sto lavorando per modificare i modelli di email. {themeName}/template/email/order/items/order/default.phtml

Il modello sopra si attiva quando l'utente ( ospite o cliente ) ha effettuato l'ordine.

Nel modello sopra, ci sono alcune variabili come:

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

se utilizzo metodi di debug come Mage::logo zend_debug::dump, la pagina di checkout si blocca e l'ordine non viene mai elaborato.

Quindi, la mia domanda è: cosa devo usare per eseguire il debug dei modelli di email qui?

Ho anche usato echoche mostra sempre una stringa vuota o arrayper una matrice che tiene una variabile.


Qualcuno può dirmi almeno come ottenere order_id dalle variabili sopra?
Mr_Green

Hai provato a usare Mage::lognella classe block ( Mage_Sales_Block_Order_Email_Items_Order_Default)?
nevvermind,

@nevvermind ho provato Mage::loga Mage_Sales_Block_Items_Abstract. che ha lo stesso problema di cui ho parlato sopra nel mio post. Non ho avuto relazione con la tua classe menzionata.
Mr_Green

L'email tpl è in app/locale/en_US/template/email/sales/order_new_guest.html(per ospite). Lì viene inserito un handle di layout - sales_email_order_items. Questo handle è dichiarato in app/design/frontend/base/default/layout/sales.xml. Il modello con cui hai problemi ha il blocco impostato su sales/order_email_items_order_default- aka Mage_Sales_Block_Order_Email_Items_Order_Default.
nevvermind,

@nevvermind Grazie per le informazioni. In realtà, sto ricevendo i prodotti html nell'e-mail da {themeName}/template/email/order/items/order/default.phtml (l' ho controllato a fondo ) L'altra parte dell'email come "Grazie per aver acquistato .. blah blah blah" proviene da ciò che hai menzionato sopra ( non ho controllato ma Penso di sì ). Ad essere sincero, ho risolto questo problema ma la mia domanda è: come eseguire il debug in questi modelli di email?
Mr_Green

Risposte:



2

Potresti anche provare che Mage::log($your_object->debug());questo ti fornirà le informazioni di cui hai bisogno.

Ti mostrerà tutti i dati degli oggetti come una matrice di valore key => e ti mostrerà la classe di tutti i dati secondari che sono oggetti.

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);
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.