Jump to content

Imagen de producto en mailalert


Isabella7

Recommended Posts

Hola, buenas noches, llevo un buen rato buscando por el foro, pero no he encontrado nada.

 

Lo que me gustaría es que saliera la foto del producto en el mail que se envía al administrador de la tienda, para saber directamente cual es el producto que se ha comprado.

 

Hay alguna manera para hacerlo? Estoy usando la versión 1.5.6.2

 

Muchas gracias, un saludo.

Link to comment
Share on other sites

Hola ventura, muchas gracias por la ayuda. El código que me dices, tengo que ponerlo en la última línea de código que pego a continuación?
 

public function hookActionValidateOrder($params)
{
if (!$this->_merchant_order || empty($this->_merchant_mails))
return;


// Getting differents vars
$context = Context::getContext();
$id_lang = (int)$context->language->id;
$id_shop = (int)$context->shop->id;
$currency = $params['currency'];
$order = $params['order'];
$customer = $params['customer'];
$configuration = Configuration::getMultiple(array('PS_SHOP_EMAIL', 'PS_MAIL_METHOD', 'PS_MAIL_SERVER', 'PS_MAIL_USER', 'PS_MAIL_PASSWD', 'PS_SHOP_NAME', 'PS_MAIL_COLOR'), $id_lang, null, $id_shop);
$delivery = new Address((int)$order->id_address_delivery);
$invoice = new Address((int)$order->id_address_invoice);
$order_date_text = Tools::displayDate($order->date_add);
$carrier = new Carrier((int)$order->id_carrier);
$message = $this->getAllMessages($order->id);


if (!$message || empty($message))
$message = $this->l('No message');


$items_table = '';

Si pudieras decirme más exactamente como lo tengo que poner, te lo agradecería mucho.

Gracias

Edited by Isabella7 (see edit history)
Link to comment
Share on other sites

no te he indicado ningun codigo, solo la posicion de donde debe ir mas o menos. Puede variar segun la version que tengas instalado pero no demasiado

 

En la funcion que te he indicado antes

public function hookActionValidateOrder($params)

Debajo de esta parte

else
$customization_text = preg_replace('/---<br \/>$/', '', $customization_text);
}

Colocas esto

 $id_image = Product::getCover((int)$product['id_product']);
 if (sizeof($id_image) > 0) {
$image = new Image($id_image['id_image']);
$image_url = _PS_BASE_URL_._THEME_PROD_DIR_.$image->getExistingImgPath().".jpg";
}

Luego un poco mas abajo, donde tienes

$items_table .=
'<tr style="background-color:'.($key % 2 ? '#DDE2E6' : '#EBECEE').';">

lo dejas asi, es decir incluyes la imagen en la tabla

$items_table .= '<tr style="background-color:'.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
<td><img src="'.$image_url.'" width="80" height="80"/></td>

Ya solo te quedara adaptar el diseño de la plantilla del mail al nuevo elemento incluido

Link to comment
Share on other sites

Muchas gracias por la explicación, pero casi voy a dejarlo por imposible, porque esta parte que me acabas de indicar ahora, no me sale en la versión del modulo mailalerts en la 1.5.6.2

 

Pero si que sale en la versión de 1.6 y más o menos como me indicas, sabría hacerlo, pero luego me vuelvo a perder en la última parte, de como modificar el diseño de la plantilla del mail, asíque, tendré que dejarlo por imposible..

 

Muchas gracias de todas maneras.

Link to comment
Share on other sites

El codigo que te he puesto está basado en el utilizado en la version mailalerts 2.8 instalada en origen en la version 1.5.6.2. No es un desarrollo facil pero siguiendo esas indicaciones no deberias de tener problemas en obtener la imagen en el correo de notificacion, luego como te comentaba te faltaria acoplar la nueva imagen en la tabla contenedora del correo.

 

Un saludo

Link to comment
Share on other sites

Si, pero me vuelvo a perder en como modificar la plantilla del mail, para que salga la foto.

Otras modificaciones si que sé hacerlas, pensé que habría algún tutorial en el foro explicando paso a paso lo que habría que hacer, pero no he encontrado ninguno, ni he encontrado ningún modulo aunque fuera de pago que lo haga.

 

Tendré que dejarlo así....

 

Gracias

Link to comment
Share on other sites

La plantilla del mail no la tienes que modificar para que salga la foto, la tendras que editar  quizas para que no se descuadre el contenido al incluir un nuevo elemento. Añadiendo el codigo indicado antes la imagen ya se muestra en el mail

Link to comment
Share on other sites

He realizado las modificaciones que me dijiste en los mensajes anteriores, he realizado una compra de prueba y no se ve la foto en ninguno de los mails, ni al del administrador ni al cliente.

 

Imagino que haría algo mal...

 

Hice las modificaciones en el módulo mailalerts para la versión 1.6.0.14 y lo instalé en la versión 1.5.6.2

 

Ya que en el archivo que me dijiste no encontré parte del código que me dijiste y en la versión 3.4.9 del modulo si que sale.

Link to comment
Share on other sites

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