Jump to content

Variables email confirmación pedido


noranova

Recommended Posts

Buenos dias, estoy intentando modificar la factura que llega al email una vez que se realiza el pedido.

 

Hay variables a las que me gustaria realizarle algún tipo de operación, generalmente quitar o añadir el I.V.A. Lo estoy realizando en order_conf.html y ahí las variables que recibe son por ejemplo {firstname} {lastname} {total_tax_paid} etc. Según veo éstas no son variables de smarty.

 

Mi idea era introducir un codigo javascript en el html y realizar las operaciones modificando el valor de dichas variables, pero no sé como recibirlas en javascript, (ya que no se de que tipo son siquiera) y como asignarle como valor el resultado de la operación que haga.

 

Si alguien pudiera arrojarme algo de luz lo agradecería.

 

Saludos.

Link to comment
Share on other sites

Buenos dias, estoy intentando modificar la factura que llega al email una vez que se realiza el pedido.

 

Hay variables a las que me gustaria realizarle algún tipo de operación, generalmente quitar o añadir el I.V.A. Lo estoy realizando en order_conf.html y ahí las variables que recibe son por ejemplo {firstname} {lastname} {total_tax_paid} etc. Según veo éstas no son variables de smarty.

 

Mi idea era introducir un codigo javascript en el html y realizar las operaciones modificando el valor de dichas variables, pero no sé como recibirlas en javascript, (ya que no se de que tipo son siquiera) y como asignarle como valor el resultado de la operación que haga.

 

Si alguien pudiera arrojarme algo de luz lo agradecería.

 

Saludos.

 

Si son variables de Smarty, fijate que esas variables que estas diciendo de los emails generales (en este caso el email order_conf.html ), suelen proceder del fichero:

/classes/PaymentModule.php

---

 

En cambio, módulos  que usan propios emails (no todos, solo algunos) como el de "Alertas por Correo" (Alertas por comerciante), si nos fijamos en el fichero:

/modules/mailalerts/mailalerts.php

Crea sus propias variables que luego manda al fichero:

new_order.html
Link to comment
Share on other sites

Muchas gracias, si creía que éstas variables procedían de otro fichero.

 

Mi pregunta entonces es: para realizar operaciones sobre dichas variables (creo que deben hacerse sobre order_conf.html) como puedo usar estas variables en javascript , probé con {literal} y nada.

Link to comment
Share on other sites

Muchas gracias, si creía que éstas variables procedían de otro fichero.

 

Mi pregunta entonces es: para realizar operaciones sobre dichas variables (creo que deben hacerse sobre order_conf.html) como puedo usar estas variables en javascript , probé con {literal} y nada.

Es mejor que las hagas antes en el *.php y luego mandas la variable resultante al email.

Link to comment
Share on other sites

'{total_products}' => Tools::displayPrice($order->total_paid - $order->total_shipping - $order->total_wrapping + $order->total_discounts, $this->context->currency, false),

A {total_producs} quiero realizarle una operación. Mi idea es, y corrígeme si me confundo, ir al final del fichero y utilizar directamente {total_products} y realizarle una opearcion.

Link to comment
Share on other sites

Yo en mi caso depende cambiar el valor de la variable, para no machacar cosas, siempre intento crear una nueva, el problema de esto es que tendria que escribir la variable otra vez en el email y en los emails que usen la otra variable, lo que prefieras...

 

De todos modos si quieres que no se muestre el iva ¿Eso no se puede configurar desde el panel?

Link to comment
Share on other sites

Pues mira en el email debo de tener:

-Precio de cada producto que se ha comprado sin iva

-Compra total sin iva

-Papel de regalo sin iva

-Transporte sin iva

-Impuesto total (aquí irian todos los ivas de todas las cosas - compra total,papel,transporte)

-Total pagado (el total de todo)

 

No se si me explico, pero éso es lo que necesito. Estuve intentando hacerlo desde el panel pero no he sido capaz.

 

Estoy abierto a cualquier tipo de recomendación.

Link to comment
Share on other sites

Lo que he hecho es lo siguiente en PaymentModule.php:

//'{total_products}' => Tools::displayPrice($order->total_paid - $order->total_shipping - $order->total_wrapping + $order->total_discounts, $this->context->currency, false),
'{total_products}' => Tools::displayPrice($order->total_products),

Y sigue saliendome el precio con iva

Link to comment
Share on other sites

Muchas gracias, os vuelvo a copiar mi código. Según entiendo en el código debería funcionar. Pero me muestra los productos sin iva y el total me lo muestra con IVA :(

'{order_name}' => $order->getUniqReference(),
						'{date}' => Tools::displayDate(date('Y-m-d H:i:s'),null , 1),
						'{carrier}' => $virtual_product ? Tools::displayError('No carrier') : $carrier->name,
						'{payment}' => Tools::substr($order->payment, 0, 32),
						'{products}' => $this->formatProductAndVoucherForEmail($products_list),
						'{discounts}' => $this->formatProductAndVoucherForEmail($cart_rules_list),
						'{total_paid}' => Tools::displayPrice($order->total_paid, $this->context->currency, false),
						//'{total_products}' => Tools::displayPrice($order->total_paid - $order->total_shipping - $order->total_wrapping + $order->total_discounts, $this->context->currency, false),
						'{total_products}' => Tools::displayPrice($order->total_products, $this->context->currency, false),
						'{total_discounts}' => Tools::displayPrice($order->total_discounts, $this->context->currency, false),
						'{total_shipping}' => Tools::displayPrice($order->total_shipping, $this->context->currency, false),
						'{total_wrapping}' => Tools::displayPrice($order->total_wrapping, $this->context->currency, false),
						//'{total_tax_paid}' => Tools::displayPrice(($order->total_products_wt - $order->total_products) + ($order->total_shipping_tax_incl - $order->total_shipping_tax_excl), $this->context->currency, false));
						'{total_tax_paid}' => Tools::displayPrice(($order->total_products_wt - $order->total_products) + ($order->total_shipping_tax_incl - $order->total_shipping_tax_excl), $currency, false));
						
Link to comment
Share on other sites

  • 1 month later...

Hola,

Pido ayuda para una cuestión. Es sobre el módulo mailalerts. Cuando envía el correo con el nuevo pedido (new order), la variable {date} sólo muestra el día-mes-año. ¿Qué tendría que cambiar y dónde para que mostrará también la hora del pedido?

 

Un saludo y gracias.

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...