This commit is contained in:
Christophe 2021-04-13 16:14:35 +02:00
parent 3237059720
commit 000ffb8478

View file

@ -16,10 +16,7 @@
* ID documents joints (spip_documents)
---
* Chaque modèle à un identifiant textuel : **slug** qui doit etre unique. Il ne peut etre créé / modifié QUE par les webmestres
* Pour gerer ses modèles, il faut inclure dans une page :
```html
<INCLURE{fond=inclure/gamumail_config,env}>
```
* Pour gerer ses modèles, il faut se rendre sur la page : `?page=configurer_mails`
![configuration](doc/configuration.png "Exemple de configuration")
## Personnalisation du formulaire d'envoi
@ -49,10 +46,10 @@ ex de fichier :
* gamumail/SLUG_fichier.html -> à la fin du formulaire
### aide à la rédaction du contenu:
- le fichier **gamumail/remplacement_slugs.html** (surchargeable donc) s'affiche en bas de la page de configuration des modèles **inclure/gamumail_config.html**
et du formulaire d'envoi **formulaires/gamumail.html** : il permet de lister les remplacements effectués pour **tous les modèles**
- le fichier **gamumail/remplacement_slugs.html** (surchargeable donc) s'affiche en bas de la page de configuration des modèles **inclure/gamumail_config.html**
et du formulaire d'envoi **formulaires/gamumail.html** : il permet de lister les remplacements effectués pour **tous les modèles**
(= ceux fournis par le pipeline **remplacement_slugs**, cf ci-dessous)
- une page de test des slugs est fournie à l'URL **...?page=test_slug&slug=mail_libre&dest=27**
- une page de test des slugs est fournie à l'URL **...?page=test_slug&slug=mail_libre&dest=27**
### exemple de page d'envoi de mail en choisissant un slug parmi ceux existant :
```html
@ -85,9 +82,9 @@ et du formulaire d'envoi **formulaires/gamumail.html** : il permet de lister les
* @param array $Tpdf = un ou plusieurs fichiers PDF générés par spiPDF (le contexte permet la personnalisation du contenu)
* []['fichier' => 'pdf_facture', 'nom' => 'facture_123', 'contexte' => ['id_app_facture' => 3]] ou ['fichier' => 'pdf_facture', 'nom' => 'facture_123', 'contexte' => ['id_app_facture' => 3]]
* @param string $redirect
* @param array $options = un gros fourre-tout sous forme d'un array
* @param array $options = un gros fourre-tout sous forme d'un array
* utilisé en particulier par les inclure HTML de gamumail/#SLUG_soustexte et gamumail/#SLUG_fichiers
*
*
* @return array $valeurs
*/
function formulaires_gamumail_charger_dist($slug, $auteur = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []){
@ -100,7 +97,7 @@ Pour chaque étape, on peut modifier l'Array de sortie :
* charger -> $valeurs
* verifier -> $erreurs
* traiter -> $corps (array du message envoyé à facteur)
Voir **gamumail_fonctions.php** pour les arguments des fonctions de surcharge + exemples
Pour cela, il faut creer une fonction du type (qui utilise les memes arg que les fonctions CVT + premier arg l'Array que l'on veut modifier):
@ -142,7 +139,7 @@ function gamumail_contrat_resa_traiter($corps, $options = []){
```
#### 3. Pipeline remplacements_slug pour le traitement du contenu des messages
Pour les remplacements des @@ et tout autre traitement du texte des mails on utilisera le pipeline **remplacements_slug** qui utilise les arguments suivants :
```php
```php
* @param array $flux données du pipeline :
* $flux['data'] = $html
* $flux['args']['slug'] = $slug
@ -161,11 +158,11 @@ on peut définir un header / footer pour les messages :
## API d'envoi de mails utilisant les slugs
### fonction envoyer_gamumail()
- exemple d'appel :
- exemple d'appel :
```php
$fonction = charger_fonction('envoyer_gamumail','inc');
$options = [
'debug' => false,
'debug' => false,
'args' => ['nb_parts' => intval(_request('nombre'))],
'pdfs' => [
[
@ -185,9 +182,9 @@ $fonction(lire_config('souscriptions/slug_souscription_validation'), $Tdest, $op
* @param array $options :
* $options['debug' => true] pour afficher le $corps final sans envoyer le mail
* $options['cci' => true] pour passer tous les destinataires en cci si il y en a plus qu'un
* $options['args' => ['param_1' => 'valeur_1, 'param_2' => 'valeur_2', ...]]
* $options['pdfs' => [...]] array des fichiers PDF générés à attacher dont les éléments peuvent être :
* - soit un nom de squelette PDF
* $options['args' => ['param_1' => 'valeur_1, 'param_2' => 'valeur_2', ...]]
* $options['pdfs' => [...]] array des fichiers PDF générés à attacher dont les éléments peuvent être :
* - soit un nom de squelette PDF
* - soit un array avec 3 éléments (seul le 1er est obligatoire):
* [ 'fichier' => 'squelette_PDF',
* 'contexte' => ['parametre_url_1' => 'valeur_1', 'parametre_url_2' => 'valeur_2', ...]