la doc pour utiliser l'astuce de l'inclure pour le JS conditionné par le retour du traiter de gamumail

This commit is contained in:
cy_altern 2021-07-30 21:49:10 +02:00
parent ba1df28aab
commit 3223f7d469
2 changed files with 35 additions and 1 deletions

View file

@ -224,6 +224,13 @@ on peut définir un header / footer pour les messages :
* gamumail/SLUG_html_header.html => pour les mails du modele SLUG
* gamumail/SLUG_html_footer.html => pour les mails du modele SLUG
#### 6. Utiliser l'inclure `<INCLURE{fond=inclure/fermer_modale,env}>` pour fermeture de la modale de gamumail
- cet inclure est appelé au début de `formulaire/gamumail.html` : par défaut il est vide
- un plugin peut arriver avec son fichier pour le surcharger afin de pouvoir intégrer du JS en fonction du message de retour `message_ok` du traiter de gamumail.php
- dans `gamumail.php`, la fonction `gamumail_traiter` ajoute en fin du message de retour OK `message_ok` le suffixe `@@gamumail_ok`
- il est donc possible de tester la présence de ce suffixe dans `message_ok` pour afficher du JS qui permet de refermer la modale dans laquelle est chargée gamumail
mais aussi de faire la mise à jour de l'affichage d'un bloc ajax dans la page appelante.
=> voir le code en commentaire dans le fichier `inclure/fermer_modale`
## API d'envoi de mails utilisant les slugs
### fonction envoyer_gamumail()

View file

@ -1 +1,28 @@
[(#REM) fichier vide pour surcharge si besoin de fermer la modale dans laquelle formulaire/gamumail.html est ouvert ]
[(#REM) fichier vide appelé par formulaire/gamumail.html
surchargeable si besoin de jouer du JS en fonction du retour du traiter
par exemple pour fermer la modale dans laquelle formulaire/gamumail.html est ouvert
la fonction traiter de formulaire/gamumail.php ajoute le suffixe @@gamumail_ok au retour #ENV{message_ok} si l'envoi du gamumail s'est bien passé
Exemple de code pour tester le retour OK et ajouter du JS qui met à jour un bloc ajax paybyurl_#ID_TRANSACTION et ferme la modalbox
(ici le #ID_TRANSACTION est dans l'env du formulaire via l'#ARRAY{options} du charger )
[(#ENV{message_ok}|explode{@@}|table_valeur{1}|=={gamumail_ok}|oui)
<script type="text/javascript">
jQuery(function() {
var lien_ajax = 'paybyurl';
var id_transaction = #ENV{options/id_transaction};
ajaxReload(lien_ajax, {
args: {
id_transaction: id_transaction
},
callback: function(){
$.modalboxclose();
}
});
});
</script>
]
]