14 de novembro de 2022 - Frederico Marinho
Ativar alerta de novas avaliações e comentários no Prestashop
Ao desenvolver lojas virtuais utilizando a plataforma Prestashop, por padrão você já tem um módulo de envio de avaliações e comentários nos produtos. O módulo é gratuito e muito bom por sinal, mas não possui o recurso básico de alertas para novos comentários enviados. No caso de ter configurado para somente aparecer depois de aprovado, esse recurso é essencial, já que muitos comentários podem simplesmente ser esquecidos e por isso não serão exibidos no site.
É preciso informar, de antemão, que teremos que fazer alterações de código nos arquivos do módulo, mas são alterações simples. Ou seja, mesmo que você não seja programador, não terá grandes dificuldades em fazer o ajuste.
Esse post é uma atualização de um conteúdo que achei no fórum oficial do Prestashop, porém não está atualizado para última atualização do módulo de comentários e avaliações. No momento em que edito esse post, validei na versão 5.0.2 do módulo.
Editar o código
- Abra para edição o arquivo modules/productcomments/controllers/front/PostComment.php no seu editor de código favorito (Sublime, VS Code, etc).
- Já dentro do primeiro método public function display(), procure a linha:
$entityManager->persist($productComment);
- Nessa linha o comentário está sendo gravado no banco de dados, após ser validado. Ou seja, é a hora de enviar o email avisando do novo comentário.
- Logo abaixo dela, adicione o código abaixo:
// send out an email! by FredericoMarinho.com $product_name = Product::getProductName($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);
- Copie esse arquivo HTML e esse arquivo TXT que serão usados de base para enviar o email e salve-os na pasta mails/br do seu Prestashop.
- Agora é só salvar arquivo e enviar um novo comentário!
Código comentado
Seu código vai ficar mais ou menos assim:
Basicamente, o que o código faz, é pegar o nome do produto, o email da loja cadastrada para receber a notificação e o nome da loja (nas 3 primeiras linhas). Depois é o comando para enviar o email em si.
IMPORTANTE: O email que receberá os alertas é o email cadastrado nas configurações da loja em Parâmetros da Loja -> Contato -> Lojas.
Atualização do módulo
Como alteramos o código do Controller do módulo, toda vez que o módulo for atualizado, essa alteração terá que ser refeita. Se alguém souber como resolver isso sem perder a configuração toda vez que o módulo for atualizado, por favor, deixe nos comentários!
0
Deixe um comentário