webleads-tracker

[RESOLU] [HOOKS] action du hook newsletter

Thomas [LE KLUB]
Avatar
Bonjour,

je cherche actuellement à intégrer un modèle de newsletter pour un client de manière flexible, avec intégration de css inline simplifiée pour le client tout ça tout ça... J'ai vu qu'il existe un hook pour la newsletter (hook_lettersend), avec une méthode prepareMessage(). J'aurais voulu savoir quand est-ce que cette méthode est exécutée exactement, si on peu créer une sortie du rendu du message par ce biais ? Est-ce que cette méthode est exécutée uniquement à l'envoi pour la liste de diffusion, ou alors aussi pour les envois de test ? est-ce qu'on peut avoir une sortie écran quelque part ou est-ce qu'on est obligé de la rediriger vers un fichier pour le visu ?

Pour l'instant je n'arrive pas à voir ce que contiennent les objets. Si quelqu'un a une piste pour me faire gagner du temps, je suis preneur ;)

Merci d'avance,
Thomas

Célia - Medialibs
Avatar
Bonjour Thomas,

Tout d'abord, ce hook est disponible dans la première version de la newsletter, mais pas encore dans la nouvelle version.
Nous travaillons sur ce point.

Ensuite, le hook prepareMessage() est appelé lors de l'instanciation du message (objet "Swift_Message"), il peut être utilisé pour ajouter des données dans le header du mail ou autre.
Par contre, il ne possède pas d'instruction d'arrêt, du coup, il ne te permettra pas de remplacer le contenu du message, puisque ce contenu sera écrasé dans la méthode standard.

J'espère t'avoir aidé,
Bonne journée,

Célia
Célia Dehé - Développeur - Medialibs

Thomas [LE KLUB]
Avatar
Merci Célia,

C'est bien dommage tout ça, j'aurais aimé avoir une solution pour remplacer des classes css par un équivalent inline. Ceci dit ça peut être une bonne idée de développement pour la suite. Merci quand même.

Thomas

Thomas [LE KLUB]
Avatar
Bon,

pour ceux qui comme moi voudraient modifier le contenu d'une newsletter, il faut juste penser que c'est un objet CRUD.... On peut donc intervenir dessus lors de la sauvegarde avec les conditions suivantes :

crudID : Emajine_Newsletter_Letters_List
action : edit

Le message est contenu dans $_POST['contentbody']

J'espère que ça pourra aider quelqu'un ;)