Accéder au contenu.
Menu Sympa

fr - [sympa-fr] Affichage du contenu d'un champ 'custom_attribute' dans review.tt2

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Cyril Quémeras <adresse@cachée>
  • To: adresse@cachée
  • Subject: [sympa-fr] Affichage du contenu d'un champ 'custom_attribute' dans review.tt2
  • Date: Wed, 2 Oct 2019 22:09:08 +0200

Bonjour à tous :-)

il y a quelques jours, je posais la question de la modification du contenu d'un champ défini par le paramètre 'custom_attribute', accessible à un propriétaire de liste.

Grâce à la réponse de David, ce point est réglé.

Sur la page listant les abonnés à une liste, on peut classer l'affichage des abonnés par domaine, nom, source et date d'abonnement.

Est-il prévu de pouvoir classer la liste sur une colonne optionnelle générée par le renseignement du paramètre 'custom_attribute' ? Mon avis est que c'est impossible sans tripatouiller le code de Sympa (ce qui est donc une mauvaise idée).

Je pense en revanche suggérer au propriétaire de liste qui me demande cette possibilité, de récupérer la liste de ses abonnés par une simple commande 'review sa_liste' à Sympa.

Je suis donc en train de modifier un peu le template mail_tt2/review.tt2 de manière à séparer les champs par un point-virgule (ou une virgule) pour ensuite pouvoir exploiter la liste (fichier .csv) dans un tableur et classer ses champs comme bon lui semblera.

Si je n'ai pas éprouvé de difficulté à séparer les champs par un ';', je ne parviens pas à afficher le contenu du champ optionnel :-(

Le fichier d'origine est ainsi codé :

#############################################################
From: [% fromlist %]
Subject: [% FILTER qencode %][%|loc(list.name)%]REVIEW %1[%END%][%END%]

[%|loc(list.name,list.host)%]Here are the subscribers of %1@%2 mailing list:[%END%]

[%|wrap(0,4)%][% FOREACH u = users -%]
[% u.email %] - [% u.gecos %] - [%|optdesc('reception')%][% u.reception %][% END %]
[% END %][%END#wrap%]

[%|loc(total)%]Total subscribers: %1[%END%]
#############################################################

Je l'ai modifié en :

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
From: [% fromlist %]
Subject: [% FILTER qencode %][%|loc(list.name)%]REVIEW %1[%END%][%END%]

[%|loc(list.name,list.host)%]Here are the subscribers of %1@%2 mailing list:[%END%]

[%|wrap(0,4)%][% FOREACH u = users -%]
[% u.email %] - [% u.gecos %] - [%|optdesc('reception')%][% u.reception %][% END %]
[% END %][%END#wrap%]

[%|loc(total)%]Total subscribers: %1[%END%]

=================
CSV version below
=================

[%|loc(list.name,list.host)%]Here are the subscribers of %1@%2 mailing list:[%END%]

[%|wrap(0,4)%][% FOREACH u = users -%]
[% u.email %] ; [% u.gecos %] ; [%|optdesc('reception')%][% u.reception %] ; [% u.additional %][% END %]
[% END %][%END#wrap%]

[%|loc(total)%]Total subscribers: %1[%END%]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Mais - un peu comme prévu - la seule mention de '[% u.additional %]' ne suffit pas à Sympa pour m'afficher le contenu du champ.

En cherchant un peu, je suis tombé sur la page :
https://github.com/softwerkskammer/server-sympa/blob/master/web_tt2/subscriber_table.tt2

dans laquelle je lis la séquence :

§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
[% IF additional_fields %]
<td>
[% u.additional %]
</td>
[% END %]
[% FOREACH ca_k IN list_conf.custom_attribute %]<td>[% SET id = ca_k.id %][% u.custom_attribute.$id.value %]</td>[% END %]
[% END %]
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§

Comment traduire ça dans un template mail ?

Merci pour toute suggestion :-)

Nous sommes sous Sympa 6.2.24 / Ubuntu 18.04.3 LTS.

Amitiés,
--

Cyril Quémeras
adresse@cachée

Soutenir Médicalistes ? Oui, bien sûr, c'est par là:
www.medicalistes.fr/aider.php



Archives gérées par MHonArc 2.6.19+.

Haut de le page