miércoles, 27 de junio de 2012

Mostrar productos en email de nuevo pedido de Magento

Si queremos mostrar los productos comprados en el email que manda Magento tras realizar un nuevo pedido, lo haremos modificando el archivo order_new.html y order_new.html (en un post anterior explique donde se encuentran los archivos de los emails y como traducirlo: Traducir Magento y textos). En ellos no tenemos nada más que incluir la siguiente linea:


{{layout handle=\"sales_email_order_items\" order=$order}} 

Así se nos mostrará el nombre del producto, el sku, cantidad, precio y subtotal. Pero puede ser que necesitemos mostrar cualquier otro dato del producto comprado, para ello deberemos modificar el archivo app\design\frontend\default\mi_tema\template\email\order\items\order\default.phtml. Por ejemplo, si queremos poner la imágen del producto:

$productId = $_item->getProductId();
$product = Mage::getModel('catalog/product')->load($productId);

echo '<img src="'.$this->helper('catalog/image')->init($product, 'thumbnail')->resize(40, 60).'" width="40" height="60" />';

Puede ser que tambien necesitemos incluir algún atributo que hemos creado nosotros para los productos. Para incluir un atributo con el nombre mi_atributo hariamos:

$productId = $_item->getProductId();
$product = Mage::getModel('catalog/product')->load($productId);
$atributos = $product->getAttributes();      
$mi_atributo = $atributos['mi_atributo']->getFrontend()->getValue($product);

echo 'El valor de mi_atributo es:'.$mi_atributo;

 Así tendremos en $atributos un array con los atributos del producto, pudiendo acceder a cada uno de ellos mediante su código de atributo.

No hay comentarios :

Publicar un comentario