[2.7.1] Synchronisation ultime de PrestaShop avec MailChimp

Synchronisation ultime de PrestaShop avec MailChimp

J'ai pris du retard sur mes présentations de nouvelles versions de ce module mais il y a une explication je vous rassure.

Ce retard s'explique par l'activité importante que j'ai dans le cadre de cette année si particulière et surtout dans le traitement de la version 1.7 de PrestaShop, qui, à chaque version, nous réserve de bonnes et de mauvaises surprises.

Je vais donc reprendre toutes les mises à jour de ce module depuis mon dernier post sur le sujet.

2.6.1 - 09/06/2020

  • Correction d'un défaut d'encodage d'url dans les appels ajax lorsque les urls simplifiées ne sont pas actives

Dans ce cas c'était de ma faute, j'oublie que certains utilisateurs de PrestaShop utilisent les systèmes d'installation simplifiés proposés par leur hébergeur et que ces systèmes installent une version anglaise et mal configurée, donc que des milliers de sites PrestaShop n'utilisent même pas les urls simplifiées alors que cette option en devrait même plus exister.

2.6.2 - 15/06/2020

  • Correction de la gestion de l'option Double Optin pour l'enregistrement des nouveaux clients

Ajout d'une option qui permet à l'inscription d'un nouveau client à la newsletter de lui faire valider celle-ci par l'envoi d'un message de validation par Mailchimp.

Nouvelle option de validation d'inscription à la newsletter pour les nouveaux inscrits

2.6.3 - 08/10/2020

  • Correction de la gestion des changements d'adresse électronique des clients dans PrestaShop

Un cas que je n'avais pas bien traité, à savoir, le moment où le client change l'adresse email de son compte client car il faut gérer la désinscription de l'ancienne adresse et l'inscription de la nouvelle ... si ce compte souhaitait recevoir la newsletter :-)

2.6.4 - 19/11/2020

  • Correction d'un bug sur le changement de statut des commandes dans le backoffice
  • Correction du nombre d'éléments synchronisé lors des synchronisations initiale pour éviter le plantage sur les petits serveurs

Suite à l'amélioration du traitement des synchronisations des clients, le délai de traitement de chaque client ayant augmenté, j'ai dû changer le nombre de clients traités à chaque fois.

2.6.5 - 26/11/2020

  • Refonte du système de synchronisation du module d'abonnement à la newsletter sur PrestaShop 1.7

Le module ps_emailsubscription présent sur PrestaShop 1.7 se synchronise en mode Ajax, ce qui fait qu'il est impossible de "capter" les données par un autre module.

J'ai donc mis en place une surcharge du code du module pour interagir avec mon module et donc remonter les inscriptions dans Mailchimp.

2.7.0 - 02/12/2020

  • Refonte du code pour intégrer des éléments de sécurité
  • Suppression des éléments obsolètes datant de la mise à niveau vers la version 2 de l'API Mailchimp
  • Suppression du code HTML inutilisé dans le code source du module

Suite aux remarques lors de la validation de mon module sur la plateforme Addons de PrestaShop, j'ai appliqué un nettoyage de mon code pour retirer des éléments périmés depuis des années puisque historiquement présents lors de la bascule sur la version 2 du module.

2.7.1 - 07/12/2020

  • Contournement d'un bug de PrestaShop pour réussir à surcharger un module afin de valider les abonnements des clients à la newsletter

Ma modification par surcharge lors de la version 2.6.5 ne fonctionnait pas chez le client, j'ai donc essayé de comprendre pourquoi chez moi je n'avais pas de souci et j'ai pu identifier un bug de PrestaShop sur la gestion des override.

Ainsi, PrestaShop est capable de surcharger le fichier PHP de base mais n'est pas capable d'installer les surcharges des controllers, c'est ici que l'erreur s'était glissée avec mon client car j'avais installé moi-même la surcharge pour effectuer des tests alors que chez mon client celle-ci ne pouvait pas s'installer.

J'ai pu corriger cela en utilisant le seul fichier PHP à la racine du module, ce qui m'amène à la réflexion suivante.

Merci aux développeurs de modules d'appeler des fonctions enregistrées dans le fichier natif du module à partir de leur controller pour que nous puissions facilement surcharger leurs modules.

Téléchargement

Discussions