Jump to content

Override création et modification de compte pour insérer API inscription newsletter


Recommended Posts

Bonjour...

 

Je vais essayer d'expliquer clairement ma demande.

 

J'utilise un service d'envoi de mail du style 'Mailjet' qui s'appele 'ActiveTrail'. Pour ce fournisseur il n'existe aucun module et autre dev pour Prestashop. Donc je dois tout me taper à la main.

 

J'ai donc plusieurs choses à faire : 

 

- Lorsqu'une personne s'inscrit à la newsletter via le 'bloc newsletter' il faut que son mail se rajoute chez ActiveTrail... => Cette opération est faite en faisant un override du module.

 

- Lorsqu'une personne créée son compte il faut que, si elle coche la case 'S'inscrire à la newsletter', je rentre les informations de nom, prénom et mail chez ActiveTrail. Et c'est la que je blqoue, car je ne sais pas quelle classe ou controller il faut override pour rajouter ma fonction activeTrail en utilisant leur API. ET par la suite il faut que si la personne, via son formulaire de gestion de compte, décoche la case 'S'inscrire à la newsletter' je la retire de l'envoi de mail.

 

Bref je pense que tout est au même endroit mais je ne trouve pas. Donc si une âme charitable pouvais m'aider ca serait super cool ;)

 

Merci par avance et bonne journée à tous

Edited by stevensf (see edit history)
Link to comment
Share on other sites

Bon je pense que j'ai un peu avancé... j'ai trouvé 2 fonctions dans la classe "Customer.php'

 

public function add => pour la création du compte

public function update => pour la modification du compte

 

Merci de me dire si c'est la bonne voie que de faire un override de ces 2 fonctions ou si il y'a mieux et/ou plus simple...

Link to comment
Share on other sites

Bonjour,

 

De mon point de vue le plus propre serait de faire un module personnalisé, que tu greffes sur différents hooks

 

Lors de la création de compte : actionCustomerAccountAdd
Lors de la mise à jour d'un client :  actionObjectCustomerUpdateAfter

Link to comment
Share on other sites

  • 2 weeks later...

Merci j'ai suivi ton conseil et j'ai commencé à dev le module que je fournirai gratos une fois terminé...

 

Par contre j'ai une question, lorsque l'internaute change son nom ou son email dans son profil, comment je peux dans le hook 'ActionObjectCustomerUpdateAfter' récupérer les valeur avant la modification par l'internaute.

 

En fait je veux que si celui-ci change son mail sur son compte Prestashop, le changer également dans la base activeTrail. Pour faire cela, j'ai besoin du mail avant modification du compte et les valeurs retournées dans $params ne me donne pas cette info.

Link to comment
Share on other sites

Il faudrait peu être dans ce cas comparer les valeurs de ton objet avant sauvegarde en utilisant le hook actionObjectCustomerUpdateBefore.
Le plus simple cependant serait de pouvoir utiliser l'identifiant client comme clé sur ta plateforme email ( si c'est possible )

Link to comment
Share on other sites

Bon juste pour dire que j'ai utilisé la première méthode, celle qui consiste à récupérer juste avant la sauvegarde l' e-mail original. Ensuite je compare les 2 valeurs d'e-mail (avant et après) et si il y'a changement je mets à jour sur activeTrail.

 

Il me reste plus qu'a faire un fichier qui change le 1 en 0 dans le champ 'newsletter' sur la table 'customer' lorsque la personne se désinscrit via le lien en bas de son mail.

 

Merci encore pour ton aide

 

PS : Je mettrai bientôt à la dispo de tt le monde sur le forum...

Edited by stevensf (see edit history)
Link to comment
Share on other sites

  • 2 years later...
  • 1 month later...
  • 1 year later...

Bonjour,

Je fais un Up sur ce post car je dois mettre en place Active Trail sur un Presta 1.6 puis 1.7, alors j'aurai 2 questions :

- est ce que je pourrais bénéficier de votre module ?

- Quel est votre retour d'expérience sur Activetrail ?

Bien à vous

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...