Récemment
-
Urls bizarres dans la console search
PhenixSuite2 -
la classe search
Bugs & Améliorations2 -
Probleme depuis MAJ phenix 1.6.2.36
PhenixSuite8 -
Images produit qui disparaissent
Bugs & Améliorations4 -
[resolu] Le module mondial relay 3.4.5
Bugs & Améliorations1 -
controlleur fournisseurs.
Bugs & Améliorations11 -
J'en profite (la fougue de la jeunesse) (ah ah ah)
Bugs & Améliorations5 -
Bon dernier du jour mais cela me turlupine classe search
Bugs & Améliorations4 -
se connecter comme un client idntifié
Bugs & Améliorations1 -
la bonne blague
Discussion générale2 -
Passage de la 16.1.9 a la PhenixSuite 1.6.2.36
Bugs & Améliorations8 -
Echec de l'installation de Creative Elements
Bugs & Améliorations3 -
[Résolu] Modification données client dans l'admin
PhenixSuite10 -
googletagmanager
PhenixSuite2 -
2 téléphones obligatoires
PhenixSuite11 -
Liens qui disparaissent
PhenixSuite5 -
Smart cache JS et Iphone
PhenixSuite1 -
Hack ancien PS 1.6 avant mise à jour Phenix
PhenixSuite3 -
[RESOLU]Souci Revolut et Hipay
Modules11 -
[RESOLU]Image produit dans compte client > commande
PhenixSuite10
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