¿Cómo depurar una plantilla de correo electrónico?


8

Estoy trabajando en modificar plantillas de correo electrónico. {themeName}/template/email/order/items/order/default.phtml

La plantilla anterior se activa cuando el usuario ( invitado o cliente ) ha realizado el pedido.

En la plantilla anterior, hay algunas variables como:

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

si utilizo algún método de depuración como Mage::logo zend_debug::dump, la página de pago está colgando y el pedido nunca se está procesando.

Entonces, mi pregunta es ¿qué debo usar para depurar plantillas de correo electrónico aquí?

También utilicé lo echoque siempre muestra una cadena vacía o arraypara una matriz que contiene una variable.


¿Puede alguien decirme al menos cómo obtener order_id de las variables anteriores?
Mr_Green

¿Has intentado usar Mage::logen la clase de bloque ( Mage_Sales_Block_Order_Email_Items_Order_Default)?
nevvermind

@nevvermind Probé Mage::logen Mage_Sales_Block_Items_Abstract. que tiene el mismo problema que mencioné anteriormente en mi publicación. No tuve relación con tu clase mencionada.
Mr_Green

El correo electrónico tpl está en app/locale/en_US/template/email/sales/order_new_guest.html(para invitados). Allí, se inserta un controlador de diseño - sales_email_order_items. Este identificador se declara en app/design/frontend/base/default/layout/sales.xml. La plantilla con la que tiene problemas tiene el bloque establecido en sales/order_email_items_order_default- aka Mage_Sales_Block_Order_Email_Items_Order_Default.
nevvermind

@nevvermind Gracias por la información. En realidad, recibo los productos html en el correo electrónico {themeName}/template/email/order/items/order/default.phtml ( lo revisé a fondo ) La otra parte del correo electrónico como "Gracias por comprar ... bla, bla, bla" proviene de lo que mencionaste anteriormente ( no lo comprobé pero Eso creo ). Para ser sincero, resolví este problema, pero mi pregunta es cómo depurar estas plantillas de correo electrónico.
Mr_Green

Respuestas:



2

También puede intentar Mage::log($your_object->debug());esto, con suerte le dará la información que necesita.

Le mostrará todos los datos de los objetos como una matriz de clave => valor y le mostrará la clase de cualquier subdato que sea un objeto.

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);
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.