Récemment
-
multiples déclinaisons sur produit [RÉSOLU]
Bugs & Améliorations20 -
ONePageCheckout
BUG connus4 -
Informations générales
PhenixSuite2 -
timepicker absent dans le BO
Bugs & Améliorations11 -
Installation Phenixsuite depuis 1.6.1.24
Questions relatives à l'installation/upgrade4 -
Passage au Webp qui n'a pas fonctionné
Bugs & Améliorations11 -
erreur 500 module paypal
Bugs & Améliorations8 -
probleme page de commande ONE PAGE
Bugs & Améliorations3 -
Traduction module Colissimo en admin
Bugs & Améliorations2 -
Erreur module block_cart en php8.2 mais pas en php7.4
Bugs & Améliorations14 -
Bug page de commande
Bugs & Améliorations4 -
Nouveautés possibles ?
Nouvelles fonctionnalités2 -
bug installation bdd
Questions relatives à l'installation/upgrade26 -
Configuration de wamp compatible presta.1.6.1.24 et PhenixSuite 1.6.2.25
Discussion générale61 -
Responsive sur liste des produits dans les commandes
Bugs & Améliorations2 -
affichage incorrect de produit personnalisé au panier
Bugs & Améliorations3 -
Erreur PHP à l'installation du module cedconnector
Bugs & Améliorations2 -
Problème calcul HT
Bugs & Améliorations18 -
MAJ .htaccess Apache 2.4 et 2.2
Nouvelles fonctionnalités5 -
Erreur SQL 1.6.2.23 -> 1.6.2.25
Questions relatives à l'installation/upgrade2
Rendre le module mailjet GDPR
-
Bonjour,
Voici une astuce pour rendre le module mailjet RGPD
Avant toute chose la version du module utilisée est la 3.4.14 disponible ici :
https://github.com/mailjet/prestashop-mailjet-plugin-apiv3/releases
Ouvrir le fichier mailjet.php
A la fin du fichier ajouter avant le dernier }
public function hookActionExportGDPRData($customer) { if (!Tools::isEmpty($customer['email']) && Validate::isEmail($customer['email'])) { if (!$customer) { return false; } $initialSynchronization = new HooksSynchronizationSingleUser(MailjetTemplate::getApi()); $customerMailJet = $initialSynchronization->getCustomerByEmail($customer['email']); if( !$customerMailJet || empty($customerMailJet) ) { return json_encode($this->l('Mailjet : Unable to export customer using email.')); } $dateAdd = new DateTime($customerMailJet->Data[0]->CreatedAt); $dateLastActivity = new DateTime($customerMailJet->Data[0]->LastActivityAt); $return[] = [ $this->l('Email') => $customerMailJet->Data[0]->Email, $this->l('Date add') => $dateAdd->format('Y-m-d H:i:s'), $this->l('Newsletters sended') => $customerMailJet->Data[0]->DeliveredCount, $this->l('Last Activity') => $dateLastActivity->format('Y-m-d H:i:s'), ]; return json_encode($return); } } public function hookRegisterGDPRConsent($param) { return; }
Ouvrir le fichier classes/hooks/synchronization/SingleUser.php
Ajouter à la fin juste avant le dernier }
/** * Get Contact information by email * @param string $email * @return object */ public function getCustomerByEmail($email) { $apiOverlay = $this->getApiOverlay(); $contact= $apiOverlay->getContactByEmail($email); if (!$contact) { return false; } return $contact; }
Greffer le module sur le deux nouveaux hooks
Enjoy !
Dans la logique on a pas besoin du hook delete car il y a déjà une action sur les hook pour ça ... au pire c'est quelques lignes de codes