Dany developer Posted July 3, 2015 Share Posted July 3, 2015 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 Link to comment Share on other sites More sharing options...
Rolige Posted July 4, 2015 Share Posted July 4, 2015 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 More sharing options...
Dany developer Posted July 10, 2015 Author Share Posted July 10, 2015 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 More sharing options...
Rolige Posted July 13, 2015 Share Posted July 13, 2015 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now