Même s'il est possible, après la soumission d'un formulaire, d'envoyer une copie des informations sous forme de fichier .pdf, dans certaines situations, il sera intéressant de pouvoir proposer à l'initiateur d'un formulaire de pouvoir imprimer ce dernier or, BreezingForms ne propose pas de bouton d'impression.
Cela est-il donc possible avec BreezingForms ?
Niveau :
Facile
Version BF minimale requise :
BreezingForms Lite
Compatibilité Joomla! 4/5 :
✅
Mise en place du bouton
Lorsque votre formulaire est prêt, placez un élément, en fin de page p.ex., de type Bouton d'envoi.
- Labellisez-le Imprimer
- Nommez-le print p.ex.
- Et donnez-lui une valeur : Imprimer p.ex.
- Sauvegarder ses propriétés.
Il faut ensuite lui indiquer qu'il ne servira pas à envoyer le formulaire, mais à l'imprimer.
Propriétés du bouton
Rendez-vous dans les options avancées de ce bouton. En bas de page, dans la section Script Action, paramétrez comme suit :
- Cochez le bouton Personnalisé
- Cochez ensuite la case Clic
- Cliquez ensuite le bouton Créer le framework afin d'insérer le code d'action du bouton. Un code semblable à ce qui suit apparait dans la zone de texte :
function ff_print_action(element, action) { switch (action) { case 'click': break; default:; } // switch } // ff_print_action
- En fin de ligne 4. "case 'click';" faites un retour chariot et insérer le bout de code suivant :
window.print();
- Afin d'obtenir un code similaire au suivant :
function ff_print_action(element, action) { switch (action) { case 'click': window.print(); break; default:; } // switch } // ff_print_action
- Enregistrez à nouveau les propriétés du bouton puis enregistrez le formulaire.
Il vous reste à tester le formulaire et le publier en ligne.
Bonjour,
Le bouton imprimer s'affiche bien, il semble actif, mais le popup d'impression ne s'affiche pas !
Pourquoi générer le code en deux temps ? Un copier/coller de l'intégralité du code n'est pas bon ?
Merci de vos réponses
Cordialement
Philippe
Bonjour.
La raison de l'affichage du code en deux temps est purement pédagogique, la première étape consiste à générer le framework du code et ce dernier se référera au nom donné à votre bouton. La seconde étape consiste à placer le code d'impression ! Seul ces deux actions permettent de s'affranchir d'éventuelles erreurs comme celle que vous avez rencontrée.
Le copier / coller du code présent ne peut fonctionner que si le bouton est nommé comme il l'est dans le script. Il y avait une petite subtilité que je viens de corriger dans le tutoriel, je l'avoue, et il s'agissait du nom du bouton !
C'est donc bien la preuve que le copier / coller est à éviter et en privilégier la méthode classique, passer par la génération du framework suivie de l'insertion du code…
En suivant les étapes comme mentionnées, dans l'ordre, le code se construira selon le nom de votre bouton et non le nom du mien, utilisé pour cet exemple et votre script fonctionnera. 😉
En espérant avoir apporté une réponse qui vous aidera à comprendre l'erreur, je vous souhaite bonne continuation avec BreezingForms ainsi qu'une excellente journée.
__
Bien cordialement
Eddy
Bonjour,
merci, je débute avec BreezingForms, dans le cadre professionnel. J'ai déjà appris mal de chose en regardant les différents tutos. C'est bien expliqué. Il faut juste que je fasse les correspondances français anglais, car mon module est en anglais, version 1.9. Je ne sais pas si je peux trouver une traduction française à jour
Bonjour Jimmy.
Quelle est votre version de BreezingForms (build 931 ?, Lite ou Pro ?). BreezingForms est livré avec différents fichiers de langue dont le français et il est surprenant que ce ne soit pas le cas chez vous.
Je vous invite à retélécharger les fichiers d'installation et réinstaller le composant par-dessus votre version actuelle.
Bonjour
Merci des précisions, nous utilisons BreezingForms 1.9.0 Stable (build 929).
Jimmy.
La suite du commentaire est supprimée, ce sont des infos relativement personnelles, je vous contacte par e-Mail pour la suite.
PS : La dernière version de BreezingForms à l'heure de ces lignes est la build 931.