Jump to content

Agregar campos a email de comentarios


Recommended Posts

Hola a todos 

 

Esto es una continuacion de un anterior post que hice :https://www.prestashop.com/forums/topic/451032-email-despues-de-un-comentario-solucionado/

 

El email que manda solo tiene 2 campos que envia que es el nombre del producto y los comentarios. Pero tambien quiero enviar el titulo del mensaje y el nombre del usuario.

 

Intente poner esto directamente en el html del email:

<br>Nombre:"{customer_name}"
<br>Titulo:"{title}"
 
Pero supongo que tengo que modificar algunas cosas en el controlador, la verdad no entiendo mucho del contenido que viene lo unico que entendi es que tengo que meter en un array estos campos que me faltan, esta asi en este momento:
$product_name = Product::getProductName($comment->id_product);
$shop_email = Configuration::get('PS_SHOP_EMAIL');
$shop_name = Configuration::get('PS_SHOP_NAME');
 
Mail::Send(Configuration::get('PS_LANG_DEFAULT'), 'new_comment', Mail::l('New comment added'),
array(
    '{comment_content}' => $comment->content,
    '{product_name}' => $product_name
), $shop_email,
    $shop_name, $shop_email);

pero no se donde sacar los valores o como nombrarlos estoy bastante perdido en esta parte. ¿Alguien me podria asistir?

 

SAludos  :D

 

Link to comment
Share on other sites

Efectivamente debes primeramente crear dichas "variables" para que las puedas usar en la plantilla de correo, y tomando el pedazo de codigo que muestras tendrias que reemplazarlo por este:

$product_name = Product::getProductName($comment->id_product);
$shop_email = Configuration::get('PS_SHOP_EMAIL');
$shop_name = Configuration::get('PS_SHOP_NAME');
 
Mail::Send(Configuration::get('PS_LANG_DEFAULT'), 'new_comment', Mail::l('New comment added'),
array(
    '{comment_tittle}' => $comment->title,
    '{comment_content}' => $comment->content,
    '{product_name}' => $product_name,
    '{customer_name}' => $comment->customer_name
), $shop_email,
    $shop_name, $shop_email);

Ahora las variables que usaras en la plantilla serian...

{comment_tittle} Para mostrar el titulo

{customer_name} Para el nombre del cliente

 

 

Saludos

Link to comment
Share on other sites

Hola COTOKO, perdón por responder tarde se me dificulto revisar el código hasta ahorita.

 

Me funciono muy bien ya lo probé, una duda si quiero incluir nuevos campos muy simples ¿que debo hacer?.

 

Estos no quiero que se guarden en una base de datos simplemente quiero que pasen al correo, pero no puedo tomarlos de la manera habitual ($_POST) hay algo que deba saber para poder hacer esto?

 

mi codigo esta quedando algo asi:

/*****************************************************************************************/				 
				$product_name = Product::getProductName($comment->id_product);
				$comment->title = Tools::getValue('title');
                $comment->grade = 0;
                $comment->validate = 0;
                $comment->save();
	$dt_5DiasDespues = date('Y-m-d', strtotime('+15 day')) ; 			
// Varios destinatarios
$para  = '[email protected]' . ', '; // atención a la coma
// título
$título = 'Cotización';
// mensaje
$mensaje = '
<html>
<head>
  <title>Cotización</title>
</head>
<body>
  <p>Ha recibido una solicitud de cotazación realizada en el sitio web Promoplus</p>
  <ul style="list-style-type: none; ">
  <li><strong>Nombre:</strong> '.$comment->content.'</li>
  <li><strong>Empresa:</strong> '.$nombre_empresa.'</li>
  <li><strong>Teléfono:</strong> '.$telefono_cliente.'</li>
  <li><strong>Ciudad y estado</strong>: '.$ciudad_estado.'</li>
  <br>
		<li><strong>Articulo a cotizar</strong></li>
		<br>
  <li><strong>Artículo:</strong> '.$product_name.'</li>
  <li><strong>Código:</strong> </li>
  <li><strong>Cantidad: </strong>'.$comment->title.'</li>
  <li><strong>Fecha de entrega:</strong>'.$dt_5DiasDespues.'</li>
  <li><strong>Comentarios:</strong> '.$comment->customer_name.'</li>
  </ul>
</body>
</html>
';
// Para enviar un correo HTML, debe establecerse la cabecera Content-type
$cabeceras  = 'MIME-Version: 1.0' . "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Cabeceras adicionales
$cabeceras .= 'To: Pedido<[email protected]>' . "\r\n";
$cabeceras .= 'From: Pedido <[email protected]>' . "\r\n";
// Enviarlo
mail($para, $título, $mensaje, $cabeceras);		

las variables aun no logro tomarlas, por ahí vi funciones con nomenclaturas con ajax no se si esas son las que debo utilizar.

 

Saludos

Link to comment
Share on other sites

Debes añadirlos tal como yo lo hize, creo que puedes basarte en el ejemplo que es demasiado claro, nada mas hay que tomar en cuenta que dependiendo del valor que quieras enviar es el codigo que vas a manejar, algunas cosas pueden ser posibles facilmente y algunas otras no tanto.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...