elreyes Posted August 15, 2013 Share Posted August 15, 2013 Buen dia, Comento los siguiente, tengo activo el modulo de comentarios oficial de prestashop en mi tienda, pero lamentablemente ese modulo no tiene ningun tipo de notificacion cuando alguien opina en alguno de mis productos. Uso Prestashop uso la 1.5.3.1. Agradeceria mucho si alguien me logra ayudar con eso, de momento no tengo el dinero para el modulo de pago que realiza esta funcion. Mil Gracias. Link to comment Share on other sites More sharing options...
Rolige Posted August 15, 2013 Share Posted August 15, 2013 Que necesitas, que envíe un correo al administrador al publicar un comentario ? 1 Link to comment Share on other sites More sharing options...
elreyes Posted August 15, 2013 Author Share Posted August 15, 2013 Que necesitas, que envíe un correo al administrador al publicar un comentario ? Exacto, igua a lo que hace el modulo de contacto, una vez que alguien escriba un comentario se envie una alerta al correo electronico. Link to comment Share on other sites More sharing options...
Rolige Posted August 15, 2013 Share Posted August 15, 2013 Bueno si quieres enviar un correo al administrador de la tienda, agrega las siguientes lineas. En el archivo tu_tienda.com/modules/productcomments/controllers/front/default.php Localiza el codigo: if (count(Tools::getValue('criterion')) >= 1) { $comment->grade = $grade_sum / count(Tools::getValue('criterion')); // Update Grade average of comment $comment->save(); } $result = true; Y reemplazalo por este: if (count(Tools::getValue('criterion')) >= 1) { $comment->grade = $grade_sum / count(Tools::getValue('criterion')); // Update Grade average of comment $comment->save(); } $cmt_vars = array( '{cmt_customer}' => $comment->customer_name, '{cmt_grade}' => $comment->grade, '{cmt_comment}' => $comment->content ); Mail::Send($this->context->language->id, 'comment', Mail::l('Have a new comment', $this->context->language->id), $cmt_vars, Configuration::Get('PS_SHOP_EMAIL'), null, null, null, null, null, _PS_MODULE_DIR_.'productcomments/mails/'); $result = true; Ahora solo necesitaras agregar la plantilla de correo para que recibas la notificacion. En la ruta tu_tienda.com/modules/productcomments > Crea una carpeta con el nombre de mails > Dentro de la carpeta mails, crea una carpeta con el nombre de es > Ahora dentro de la carpeta es, crea un archivo con el nombre de comment.html > Dentro del archivo comment.html, agrega este contenido: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Mensaje de {shop_name}</title> </head> <body> <table style="font-family: Verdana,sans-serif; font-size: 11px; color: #374953; width: 550px;"> <tbody> <tr> <td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td> </tr> <tr> <td> </td> </tr> <tr> <td align="left">Hola,</td> </tr> <tr> <td> </td> </tr> <tr> <td style="background-color: #db3484; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;" align="left">Tienes un comentario nuevo</td> </tr> <tr> <td> </td> </tr> <tr> <td align="left"><strong>Cliente:</strong> {cmt_customer}<br> <strong>Calificacion:</strong> {cmt_grade} <br> <strong>Comentario:</strong></td> </tr> <tr> <td>{cmt_comment}</td> </tr> <tr> <td> </td> </tr> <tr> <td style="font-size: 10px; border-top: 1px solid #D9DADE;" align="center"><a style="color: #db3484; font-weight: bold; text-decoration: none;" href="{shop_url}">{shop_name}</a> dirigida por <a style="text-decoration: none; color: #374953;" href="http://www.prestashop.com/">PrestaShop™</a></td> </tr> </tbody> </table> </body> </html> Con esto ya tendras lista la plantilla de correo electronico, si quieres agregar en mas idiomas solo crea las carpetas correspondientes, tambien seria conveniente que agregues las plantillas en texto plano. Cualquier duda, avisame Saludos, Sergio Q. 2 Link to comment Share on other sites More sharing options...
nadie Posted August 15, 2013 Share Posted August 15, 2013 Estimado COTOKO, Estas invitado a publicar el aporte en la sección de aportes en un nuevo tema: http://www.prestasho...ambian-la-vida/ PD: Gracias por su colaboración con la Comunidad de Prestashop. Link to comment Share on other sites More sharing options...
elreyes Posted August 15, 2013 Author Share Posted August 15, 2013 Bueno si quieres enviar un correo al administrador de la tienda, agrega las siguientes lineas. En el archivo tu_tienda.com/modules/productcomments/controllers/front/default.php Localiza el codigo: if (count(Tools::getValue('criterion')) >= 1) { $comment->grade = $grade_sum / count(Tools::getValue('criterion')); // Update Grade average of comment $comment->save(); } $result = true; Y reemplazalo por este: if (count(Tools::getValue('criterion')) >= 1) { $comment->grade = $grade_sum / count(Tools::getValue('criterion')); // Update Grade average of comment $comment->save(); } $cmt_vars = array( '{cmt_customer}' => $comment->customer_name, '{cmt_grade}' => $comment->grade, '{cmt_comment}' => $comment->content ); Mail::Send($this->context->language->id, 'comment', Mail::l('Have a new comment', $this->context->language->id), $cmt_vars, Configuration::Get('PS_SHOP_EMAIL'), null, null, null, null, null, _PS_MODULE_DIR_.'productcomments/mails/'); $result = true; Ahora solo necesitaras agregar la plantilla de correo para que recibas la notificacion. En la ruta tu_tienda.com/modules/productcomments > Crea una carpeta con el nombre de mails > Dentro de la carpeta mails, crea una carpeta con el nombre de es > Ahora dentro de la carpeta es, crea un archivo con el nombre de comment.html > Dentro del archivo comment.html, agrega este contenido: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Mensaje de {shop_name}</title> </head> <body> <table style="font-family: Verdana,sans-serif; font-size: 11px; color: #374953; width: 550px;"> <tbody> <tr> <td align="left"><a title="{shop_name}" href="{shop_url}"><img style="border: none;" src="{shop_logo}" alt="{shop_name}" /></a></td> </tr> <tr> <td> </td> </tr> <tr> <td align="left">Hola,</td> </tr> <tr> <td> </td> </tr> <tr> <td style="background-color: #db3484; color: #fff; font-size: 12px; font-weight: bold; padding: 0.5em 1em;" align="left">Tienes un comentario nuevo</td> </tr> <tr> <td> </td> </tr> <tr> <td align="left"><strong>Cliente:</strong> {cmt_customer}<br> <strong>Calificacion:</strong> {cmt_grade} <br> <strong>Comentario:</strong></td> </tr> <tr> <td>{cmt_comment}</td> </tr> <tr> <td> </td> </tr> <tr> <td style="font-size: 10px; border-top: 1px solid #D9DADE;" align="center"><a style="color: #db3484; font-weight: bold; text-decoration: none;" href="{shop_url}">{shop_name}</a> dirigida por <a style="text-decoration: none; color: #374953;" href="http://www.prestashop.com/">PrestaShop™</a></td> </tr> </tbody> </table> </body> </html> Con esto ya tendras lista la plantilla de correo electronico, si quieres agregar en mas idiomas solo crea las carpetas correspondientes, tambien seria conveniente que agregues las plantillas en texto plano. Cualquier duda, avisame Saludos, Sergio Q. estimado amigo hice todos los pasos que indicaste pero aun sigue sin avisarme al correo De antemano mil gracias por tu aporte. 1 Link to comment Share on other sites More sharing options...
Rolige Posted August 15, 2013 Share Posted August 15, 2013 estimado amigo hice todos los pasos que indicaste pero aun sigue sin avisarme al correo De antemano mil gracias por tu aporte. Algo debes haber hecho mal, lo probaste en el idioma español ? Si lo probaste en otro idioma y no creaste las carpetas de los email, entonces no te funcionara, tal como lo explico en los detalles. Link to comment Share on other sites More sharing options...
elreyes Posted August 15, 2013 Author Share Posted August 15, 2013 (edited) Algo debes haber hecho mal, lo probaste en el idioma español ? Si lo probaste en otro idioma y no creaste las carpetas de los email, entonces no te funcionara, tal como lo explico en los detalles. COKOTO solo en español, es decir reemplace el codigo como dijiste, luego cree las carpetas y agregue el archivo html y dentro de el copie la plantilla que me indicaste. Pero aun asi no llegan. Te adjunto los archivos tal cual como quedaron. comment.html default.php Edited August 15, 2013 by elreyes (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted August 15, 2013 Share Posted August 15, 2013 COKOTO solo en español, es decir reemplace el codigo como dijiste, luego cree las carpetas y agregue el archivo html y dentro de el copie la plantilla que me indicaste. Pero aun asi no llegan. Te adjunto los archivos tal cual como quedaron. Ademas del fichero: comment.html crea uno llamado comment.txt y subelo al mismo directorio: /modules/productcomments/mails/es/ (A mi me funciona) Link to comment Share on other sites More sharing options...
Rolige Posted August 15, 2013 Share Posted August 15, 2013 Es probable que ese sea el detalle, en los pasos hago la indicación de que si la configuración de emails esta configurado como envíos en texto, es necesario crear el archivo tal como te menciona nadie y dentro poner el contenido de la plantilla, OJO, solo el contenido de la plantilla no el código HTML. Link to comment Share on other sites More sharing options...
nadie Posted August 15, 2013 Share Posted August 15, 2013 El comment.txt dejalo por ejemplo asi: Hola, Ha recibido un nuevo comentario Cliente: {cmt_customer} Clave: {cmt_grade} Comentario: {cmt_comment} {shop_url} desarrollado por PrestaShop™ 1 Link to comment Share on other sites More sharing options...
elreyes Posted August 15, 2013 Author Share Posted August 15, 2013 Amigo aun nada, cree el .txt pero aun no llegan los mensajes. habra que forzar compilacion o algo??? Link to comment Share on other sites More sharing options...
nadie Posted August 15, 2013 Share Posted August 15, 2013 Amigo aun nada, cree el .txt pero aun no llegan los mensajes. habra que forzar compilacion o algo??? Si quieres envíame los datos de acceso por privado y intento mirarlo. Saludos, 1 Link to comment Share on other sites More sharing options...
elreyes Posted August 16, 2013 Author Share Posted August 16, 2013 Queridos amigos ya lo he logrado, parece ser que necesitamos crear dos carpeatas para cada idioma, es y en. De lo contrario la plantilla no funciona. Ya esta funcionando correctamente. Lo unico raro es que esta en español y al correo me llega con asunto "Have a new comment" aunque personalmente no tengo problemas con eso. Mil gracias por su inmesa ayuda !!! Link to comment Share on other sites More sharing options...
Rolige Posted August 16, 2013 Share Posted August 16, 2013 Que bien que lo solucionaste, veo que el problema era que lo estabas usando con el sitio en inglés y como te mencione solo tenías la plantilla en español y por eso no te enviaba el correo. Para cambiar el texto en inglés lo puedes hacer desde traducciones en tu back office y ya lo recibirás en el idioma correcto, lo puse en inglés para seguir el esquema de prestashop. Saludos. 1 Link to comment Share on other sites More sharing options...
Recommended Posts