Carnet Wiki

Référence des boucles, balises et raccourcis etc de Spip-Lettres

Version 22 — Avril 2020 — moicubitus

Rédaction participative en cours. Vous êtes invité à compléter ou donner votre avis.

Voir la rubrique « Spip-Lettres gestionnaire de newsletter »
-  dans le carnet
-  en partie privée

L’objet et la boucle LETTRES

Il contient les champs suivants :

-  #TITRE, #TEXTE : toujours renseignés
-  #LANG (un code de langue) et #LANGUE_CHOISIE (oui/non dont le but m’échappe à ce stade)

<blockquote class="spip">

Suske : 28 mars 2012

#LANGUE_CHOISIE est positionné à non et n’est utilisé dans spip-lettres 4 que dans le pipeline lettres_trig_calculer_langues_rubriques (un pipeline inséré via inc-cersion ;php en spip 2.1), pour calculer la langue de la lettre selon celle de la rubrique « à condition que » la valeur de lang_choisie soit à « non » au départ. Cela doit être le cas le plus souvent... Vu que le plugin ne positionne nulle part ce lang_choisie à « oui ».

Pour le reste, dans SPIP, lang_choisie se trouve en RUBRIQUES, ARTICLES, BREVES et semble utilisé pour déterminer la langue d’un objet en fonction de la langue du parent, selon la config des langues dans spip...Je dirais que s’il est positionné à « oui », ça bloque le système d’héritage des langues de l’objet parent vers l’objet enfant.

</blockquote>

-  #ID_RUBRIQUE et #ID_SECTEUR sont également présents
-  #DESCRIPTIF, #CHAPO, ... : renseignés si la configuration le demande

-  #MESSAGE_HTML et #MESSAGE_TEXTE : ces champs renvoient le texte au format HTML et TEXTE de la lettre.

Ces valeurs sont calculées grâce aux squelettes spécifiés dans l’onglet de « Configuration avancée du plugin » :

  • squelette emails/lettre_html, par défaut, pour le MESSAGE_HTML
  • squelette emails/lettre_texte, par défaut, pour le MESSAGE_TEXTE

La feuille de style emails/css.html est utilisée mais peut être surchargée par une feuille de style perso placée dans votre dossier squelettes et nommée perso_spip_lettres.css.html (Elle ne doit pas comporter la balise html <style type="text/css">)

Le résultat est stocké dans la base de données. En particulier, ce calcul est figé au début de l’envoi de la lettre, et c’est cette valeur qui est resservie ensuite à chaque fois, même si par exemple le squelette ou le contenu de la base de données a changé entre temps.
Cela évite que les boucles renvoient des résultats différents au cours de l’envoi, et assure que tous les abonnés reçoivent la même lettre !
Il est toutefois possible de modifier manuellement cette version figée (si par exemple une erreur importante doit être rectifiée après envoi), en éditant directement le contenu du champ message_html de la table spip_lettres pour la lettre concernée depuis votre SGBD préféré.

Les raccourcis tels que %%URL_VALIDATION_ABONNEMENTS%% ou %%EMAIL%%, apparaissent tels quels dans ces champs, car leur valeur dépend du destinataire de la lettre, et n’est calculée qu’au moment de l’envoi à un destinataire particulier.

MESSAGE_TEXTE et #MESSAGE_HTML

A l’intérieur d’une boucle LETTRES, les champs #MESSAGE_TEXTE et #MESSAGE_HTML renvoient les valeurs aux formats texte et html du message tel qu’il pourra être envoyé dans la lettre, ou tel qu’il a été envoyé, si la lettre a déjà été envoyée. Une fois envoyée, la valeur de ces 2 champs est figée dans la table spip_lettres.

Balises globales

A tester et mieux documenter

-  #URL_FORMULAIRE_LETTRES renvoie l’adresse publique du formulaire d’inscription aux lettres ;

-  #URL_LETTRE renvoie l’url de la page publique d’une lettre.

Raccourcis personnalisés pour les emails

Il y a une syntaxe spécifique pour des « raccourcis personnalisés » dont la valeur sera calculée au moment de l’envoi d’une lettre à un abonné particulier, et dont la valeur dépend de cet abonné.

5 raccourcis simples sont utilisés :
-   %%URL_VALIDATION_ABONNEMENTS%%
-   %%URL_VALIDATION_DESABONNEMENTS%%
-   %%URL_VALIDATION_CHANGEMENT_FORMAT%%
-   %%EMAIL%%
-   %%CODE%%

Les 3 premiers intègrent l’adresse d’abonnement, utilisable pour un lien dans le mail, avec l’email de l’abonné cliquant sur le lien, et un code permettant l’authentification de la demande.

Les autres raccourcis concernent les champs NOM et les EXTRAS éventuellement définis sur les abonnés, ou les champs extérieurs lors de l’utilisation de l’API hors abonnement. Comme leurs valeurs sont facultatives, ils bénéficient d’une syntaxe enrichie, permettant de spécifier une valeur par défaut dans le squelette de la lettre :
-  %%NOM|valeurpardefaut%% renvoie le nom de l’abonné s’il est défini, ou valeurpardefaut sinon.

Comme pour les balises SPIP, il est également possible d’indiquer une valeur avant et une valeur après, et d’appeler un filtre sur la valeur du champ. Les filtres ne peuvent cependant pas être composés, ni utiliser des variables.
-  %%[Bonjour (#NOM|ucfirst)]%%