Enviar un email al administrador de tu tienda Prestashop cuando hay un nuevo comentario de un producto

Para permitir a los usuarios escribir comentarios sobre los productos de tu tienda online hecha con Prestashop 1.5. se puede utilizar el módulo gratuito Product comments (denominado Comentario sobre el producto en español). Pero este módulo tiene, para mi gusto, una debilidad y es que no manda al administrador de la tienda un email indicándole que hay un nuevo comentario. Esto es un problema cuando hemos configurado el módulo para que los comentarios tengan que ser aprobados por el administrador antes de mostrarse en la parte pública de la tienda porque, si el adminsitrador no recibe ningún aviso de que hay un nuevo comentario, no tiene por qué enterarse hasta que decida meterse en la configuración del módulo a ver si hay comentarios y pueden pasar días.
Por eso nos ha parecido muy importante explicaros qué modificaciones realizar en el módulo Product Comments para que se mande un email al administrador para avisarle de que hay comentarios pendientes de moderar.

En el archivo "modules/productcomments/controllers/front/default.php", busca la línea de código:
if (count(Tools::getValue('criterion')) >= 1){
 $comment->grade = $grade_sum / count(Tools::getValue('criterion'));
 // Update Grade average of comment
 $comment->save();
}
 que se será, aproximadamente, el número de línea 113.

Debajo, inlcuye las siguientes líneas:
 //send mail
$donnees = array(
   '{texte}' => $module_instance->l('New comment available'),
   '{content}' => $comment->content,
   '{id_product}' => $comment->id_product,
   '{id_customer}' => $comment->id_customer,
   '{customer_name}' => $comment->customer_name,
   '{title}' => $comment->title,
   '{grade}' => $comment->grade
);
Mail::Send((int)Context::getContext()->language->id,
   'newcomment',
   'Nuevo comentario',
   $donnees,
   Configuration::get('PS_SHOP_EMAIL'),
   null,
   null,
   null,
   null,
   null,
   dirname(__FILE__).'/../../mails/');
 

A continuación, tendremos que crear la caarpeta "moduless/productcomments/mails/" y una subcarpeta para cada idioma de la tienda. Por ejemplo, crearemos la carpeta /es/ si nuestra tienda está en español.
Ahí deberemos crear los archivos "newcomment.html" y "newcomment.txt".


Código del archivo newcomment.html:

<h1>{texte}</h1>

<p>Titre : {title}</p>
<p>Commentaire : {content}</p>
<p>Id produit : {id_product}</p>
<p>Id client : {id_customer}</p>
<p>Nom du client : {customer_name}</p>
<p>Note : {grade}</p>

Código del archivo newcomment.txt:

{texte}

Titre : {title}
Commentaire : {content}
Id produit : {id_product}
Id client : {id_customer}
Nom du client : {customer_name}
Note : {grade}

Y ... ¡listo! Se mandará un email automáticamente al adminsitrador de la tienda cuando haya nuevos comentarios. Se mandará al email que tengamos establecido en la configuración de la tienda y que se almacena en PS_SHOP_EMAIL.
Además, desde el panel de adminsitración de la tienda, podremos gestionar las traducciones del módulo y las plantillas de EMAIL dirigiéndonos a Localización > Traducción de mensajes.

Ahí escogeremos Traducción de las plantillas de E-mail, nuestra plantilla por defecto y el idioma que queramos. Veremos que tenemos una nueva plantilla para el módulo productcomments en html y otra en txt. Podremos modificar los textos y la apariencia de forma sencilla.