Muchas veces necesitamos modificar las plantillas que vienen por defecto en los correos transaccionales de magento, esto se puede realizar a través del panel de control/sistema/correos transaccionales, y cargaremos una de las plasntillas por defecto, para modificar el html. Pero la pregunta que muchos usuarios se hacen, como se modifican las variables y cuales son las que existen en magento.
VARIABLES GENERALES
{{var store.getFrontendName()}} –> Nombre de la Tienda
Llamar al valor de un dato de configuración almacenado en la tabla core_config_data de la base de datos:
Ejemplos:
- {{config path=’general/store_information/phone’}}
- {{config path=’trans_email/ident_support/email’}}
Llamar a una url de la tienda
- {{store url=””}} – URL base de la tienda
- {{store url=”customer/account/”}} –> ruta “customer/account/” a partir de la URL de la tienda
Llamar a un recurso del diseño del sitio /skin/frontend/default/{your_theme}/
- {{skin url=”images/logo_email.jpg” _area=’frontend’}}
VARIABLES PARA USUARIOS REGISTRADOS
- {{var customer}} –> Muestra toda la información sobre el cliente
- {{var customer.ID}} –> ID del Cliente
- {{var customer.email}} –> Email del Cliente
- {{var customer.firstname}} –> Nombre del Cliente
- {{var customer.lastname}} –> Apellidos del Cliente
- {{var customer.name}} –> Nombre completo del Cliente
- {{var customer.password}} –> Contraseña del Cliente
- {{var customer.created_in}} –> Tienda en que se registro el Cliente
- {{var customer.dob}} –> Fecha de cumpleaños del Cliente
- {{var customer.password_hash}} –> Hash de la contraseña del Cliente
- {{var customer.prefix}} –> Prefijo del nombre del Cliente
- {{var customer.middlename}} –> Segundo Nombre o iniciales del Cliente
- {{var customer.suffix}} –> Sufijo del nombre del Cliente
- {{var customer.group_id}} –> ID del grupo de clientes al que pertenece
- {{var customer.taxvat}} –> Número TAX/VAT (CIF/NIF) del Cliente
- {{var customer.store.name}} –> Nombre de la vista de tienda en que se registro el Cliente
- {{var customer.store.group.name}} –> Nombre de la tienda en que se registro el Cliente (No de la Vista de Tienda)
VARIABLES DE SUSCRIPCIÓN/DESUSCRIPCIÓN DEL NEWSLETTER
- {{var subscriber.getConfirmationLink()}} –> Enlace a la confirmación de alta en newsletter
- {{var subscriber.getUnsubscriptionLink()}} –> Enlace para desuscribirse del newsletter
- {{var subscriber.email}} –> Dirección del email suscrito al newsletter
VARIABLES DE ENVIAR A UN AMIGO
- {{var product_image}} –> Imagen del producto a enviar
- {{var name}} –> Nombre del amigo a quién se envía
- {{var email}} –> Email del amigo a quién se envía
- {{var product_name}} –> Nombre del producto a enviar
- {{var product_url}} –> URL del producto a enviar
- {{var message}} –> Mensaje para el amigo
- {{var sender_name}} –> Nombre del remitente
- {{var sender_email}} –> Email del remitente
VARIABLES DEL PEDIDO
- {{var order.id}} –> ID del pedido
- {{var order.increment_id}} –> Número del Pedido
- {{var order.getCreatedAtFormated(‘long’)}}
- {{var order.getStatusLabel()}} –> Etiqueta de estado del Pedido
- {{var order.getEmailCustomerNote()}} –> Comentario del Pedido
- {{var order.getData(‘customer_taxvat’)}}
- {{htmlescape var=$order.getCustomerName()}}
Variables de Cliente del pedido
- {{var order.customer_email}}
- {{var order.getCustomerName()}}
- {{var order.getCustomerFirstname()}}
- {{var order.getCustomerLastname()}}
Variables de Facturas
- {{var invoice.id}} –> ID de la factura
- {{var invoice.increment_id}} –> Número de Factura
- {{var invoice.created_at}} –> Fecha de creación de factura
Variables de Facturas de Abono
- {{var creditmemo.id}} –> ID de la factura de abono
- {{var creditmemo.increment_id}} –> Número de la factura de abono
Variables del Envío
- {{var shipment.increment_id}} –> Número de envío
- {{var shippingAddress.format(‘html’)}}
Variables de dirección de facturación
- {{var order.getBillingAddress().format(‘html’)}} –> Bloque html con toda la dirección de facturación (su formato se configura en el panel de administración).
- {{var order.getBillingAddress().getName()}} –> Nombre completo
- {{var order.getBillingAddress().getPrefix()}} –> Prefijo del nombre
- {{var order.getBillingAddress().getFirstName()}} –> Nombre
- {{var order.getBillingAddress().getMiddleName()}} –> Segundo nombre o iniciales
- {{var order.getBillingAddress().getLastName()}} –> Apellidos
- {{var order.getBillingAddress().getSuffix()}} –> Sufijo del nombre
- {{var order.getBillingAddress().getStreet1()}} –> Dirección envío
- {{var order.getBillingAddress().getStreet2()}} –> Línea adicional dirección de envío
- {{var order.getBillingAddress().getCity()}} –> Ciudad
- {{var order.getBillingAddress().getRegion()}} –> Provincia/Región
- {{var order.getBillingAddress().getPostcode()}} –> Código Postal
- {{var order.getBillingAddress().getCountry()}} –> ID del país
- {{var order.getBillingAddress().getCountryModel().getName()}} –> Nombre del País
- {{var order.getBillingAddress().getTelephone()}} –> Teléfono
Variables de dirección de envío
- {{var order.getShippingAddress().format(‘html’)}} –> Bloque html con toda la dirección de envío (su formato se configura en el panel de administración).
- {{var order.getShippingAddress().getName()}} –> Nombre completo
- {{var order.getShippingAddress().getPrefix()}} –> Prefijo del nombre
- {{var order.getShippingAddress().getFirstName()}} –> Nombre
- {{var order.getShippingAddress().getMiddleName()}} –> Segundo nombre o iniciales
- {{var order.getShippingAddress().getLastName()}} –> Apellidos
- {{var order.getShippingAddress().getSuffix()}} –> Sufijo del nombre
- {{var order.getShippingAddress().getStreet1()}} –> Dirección envío
- {{var order.getShippingAddress().getStreet2()}} –> Línea adicional dirección de envío
- {{var order.getShippingAddress().getCity()}} –> Ciudad
- {{var order.getShippingAddress().getRegion()}} –> Provincia/Región
- {{var order.getShippingAddress().getPostcode()}} –> Código Postal
- {{var order.getShippingAddress().getCountry()}} –> ID del país
- {{var order.getShippingAddress().getCountryModel().getName()}} –> Nombre del País
- {{var order.getShippingAddress().getTelephone()}} –> Teléfono
Variables método de envío
- {{var shippingMethod}} –> Método de envío
- {{var order.getShippingDescription()}} –> Bloque con la descripción sobre el envío
Bloques layout
Muestra el bloque de artículos y totales que componen el pedido {{layout handle=”sales_email_order_items” order=$order}}
Muestra el bloque de artículos y totales que componen la factura {{layout area=”frontend” handle=”sales_email_order_invoice_items” invoice=$invoice order=$order}}
Muestra el bloque de artículos y totales que componen la factura de abono {{layout handle=”sales_email_order_creditmemo_items” creditmemo=$creditmemo order=$order}}
Muestra el bloque de artículos y totales que componen el envío {{layout handle=”sales_email_order_shipment_items” shipment=$shipment order=$order}}
Estos bloques layout se pueden personalizar a nivel de código. La parte del Layout está en /app/design/frontend/default/{your_theme}/layout/sales.xml
<sales_email_order_items>
<block type=”sales/order_email_items” name=”items” template=”email/order/items.phtml”>
<action method=”addItemRender”><type>default</type><block>sales/order_email_items_order_default</block><template>email/order/items/order/default.phtml</template></action>
<action method=”addItemRender”><type>grouped</type><block>sales/order_email_items_order_grouped</block><template>email/order/items/order/default.phtml</template></action>
</block>
</sales_email_order_items>
Desde estos bloques se llama a la plantilla /app/design/frontend/default/{your_theme}/template/email/order/items.phtml y sus hijas según el tipo de producto.
Muestra el bloque con la información sobre consulta de seguimiento del envío:
{{block type=’core/template’ area=’frontend’ template=’email/order/shipment/track.phtml’ shipment=$shipment order=$order}}
Condicionales
– Sí el pedido es de productos no virtuales (implica envío) se mostrará lo contenido dentro de las etiquetas:
{{depend order.getIsNotVirtual()}}
{{/depend}}
– Si el pedido es pagable (importe mayor que cero) se mostrará lo contenido dentro de las etiquetas:
{{depend salable}}
{{/depend}}
Se pueden construir con estructura de condicional
{{if order.getIsNotVirtual()}}
contenido si el pedido no es virtual
{{else}}
contenido en caso opuesto
{{/if}}
La etiqueta {{else}} es opcional, si no existe no hay contenido alternativo.
OTRAS VARIABLES AÚN NO ORDENADAS
- {{var addAllLink}}
- {{var alertGrid}}
- {{var checkoutType}}
- {{var comment}}
- {{var data.comment}}
- {{var data.email}}
- {{var data.name}}
- {{var data.telephone}}
- {{var dateAndTime}}
- {{var items}}
- {{var items_html}}
- {{var message}}
- {{var name}}
- {{var order.getStoreGroupName()}}
- {{var password}}
- {{var payment_html}}
- {{var paymentMethod}}
- {{var product_name}}
- {{var product_url}}
- {{var reason}} Reason for payment failure
- {{var total}}
- {{var user.name}}
- {{var viewOnSiteLink}}
- {{var warnings}}
- {{var billing.name}} Uses the fullname from billing information (to prevent e-mail being sent to ‘Dear Guest, etc’.