Récemment
-
Erreur 500 suite installation
Questions relatives à l'installation/upgrade13 -
Suite mise à jour vers 1.6.2.15
Bugs & Améliorations6 -
Les metas OpenGraph
Nouvelles fonctionnalités6 -
Installation du module Mondial Relay
Bugs & Améliorations4 -
1.6.2.12 Two Installation Blocking Bugs
Bugs & Améliorations4 -
Disparition des alert success
Bugs & Améliorations3 -
Mise en avant de PhenixSuite
Nouvelles fonctionnalités3 -
Multi boutique, url virtuelles
Bugs & Améliorations3 -
1.6.2.11 - Bug classe Carrier
Bugs & Améliorations2 -
Aide au debogage Javascript (chargement + événements panier)
Bugs & Améliorations5 -
SendinBlue pour PhenixSuite (API V3)
Modules1 -
Override du module Sthoverimage
Modules1 -
Informations générales
PhenixSuite2 -
Des modules et des hacks - liste non exhaustive des modules présentant un risque
Discussion générale16 -
Comment offrir frais de port à partir d'un certain montant MAIS avec transport facturé au poids ?
Discussion générale5 -
Patch de sécurité thèmes warehouse / iqit (Versions 1.5 & 1.6)
Discussion générale1 -
Copieurs-Colleurs
Discussion générale2 -
Créer un contrôleur front (indépendant)
Tutoriels1 -
Fourre-tout de trucs et astuces
Tutoriels4 -
[1.3] Implanter des classes overrides
Tutoriels1
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