bonjour et meilleurs vœux
lorsque j’envoi un mail par une page contact avec le formulaire" ecrire_auteur" en utlisant facteur pour envoi on reçoit le message avec pour titre :
[nomdusite] MESSAGE le titre du message
je ne trouve pas ou supprimer « MESSAGE » et encore mieux [nom du site ] MESSAGE
merci
Salut, c’est par ici que ça se passe formulaires/ecrire_auteur.php · master · spip / dist · GitLab
Tu peux surcharger ça depuis le pipeline formulaire_traiter cf formulaire_traiter - Programmer avec SPIP 4
j’essaye avec function paramsite_formulaire_traiter($flux) mais apparemment le pipeline formulaire_traiter s’exécute après formulaires_ecrire_auteur_traiter_dist
qui est donc exécuté …j’ai
if ($flux['args']['form'] == 'ecrire_auteur' ) {
j’ai pas du bien piger
Oui le pipeline passe après. Il permet de compléter un traitement, pas de le modifier (surtout qu’un traitement pouvant etre tout et n’importe quoi).
Donc ce n’est pas via le pipeline formulaire_traiter que tu resoudra ton problème.
Par contre il semblerait que facteur dispose d’un pipeline facteur_pre_envoi
permettant de modifier le contenu d’un message (y compris le sujet). A creuser.
Ha oui my bad, autre piste, surcharger la fonction formulaires_ecrire_auteur_traiter_dist()
, mais c’est moins pérenne (même si celle-ci ne bouge pas des masses).
Sinon, plus simple, utiliser le plugin Formulaire de contact libre - SPIP-Contrib qui permet de personnaliser le sujet des mails envoyés.
ceci dit je comprend pas pourquoi le sujet du mail est ainsi libellé dans formulaires_ecrire_auteur_traiter_dist(
car on peut mettre le nom du site ( ou plus parlant) au niveau de l’expéditeur…
pour info j’avais effecivement upgradé la fonction dans mon squelette… mais il faut verifier a chaque versiion… c est bad bad
oui, c’est une possibilité. Ou encore utiliser formidable. Tout depend du degres de personnalisation souhaité.
je veux juste que le contenu du champ sujet saisie soit en titre du message reçut sans y rajouter autre chose.
c’est a dire que je veux juste enlever le [nomdusitespip] MESSAGE que l’on reçoit dans le titre du mail Subject : [test Notre Dame du Dimanche] MESSAGEsujet saisie
C’est tellement long que l’on ne voit pas le sujet réel sur la messagerie… cela perturbe les destinataires
Dans ce cas: contact libre ou bien pipeline du fateur que j’ai mentionné ci dessus
la solution améliorable.
paramsite étant le plugin dans lequel j’ai positionné la fonction dans le fichier paramsite_pipelines.php
function paramsite_facteur_pre_envoi($facteur){
// ne mettre en sujet que le sujet envoyé par l'auteur
//avec le formulaire ecrire_auteur
$extrait = '[' . supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site'])) . '] '
. _T('info_message_2') . ' ';
$facteur->Subject = str_replace($extrait, "", $facteur->Subject);
return $facteur;
}
dans le « paquet » du plugin j’ai ajouté
<pipeline nom="facteur_pre_envoi" inclure="paramsite_pipelines.php" />