Bonjour j'utilise un Drupal 8, je voudrais créer un formulaire et le soumettre, envoyer un fichier PDF à l'email dans le formulaire.

0
hamdi ben henda 27 août 2020 à 13:26

2 réponses

Meilleure réponse

Vous pouvez utiliser le module Règles si vous ne souhaitez pas faire de codage.

0
C.A. Vuyk 3 sept. 2020 à 05:43

Le moyen le plus simple de créer des formulaires Web dans Drupal est d'utiliser le module Webform:

https://www.drupal.org/project/webform

Utilisez hook_form_alter(&$form, FormStateInterface $form_state, $form_id) pour ajouter votre gestionnaire d'envoi personnalisé à ce formulaire. Dans votre fonction hook, vous devez ajouter du code qui ressemble à ceci:

$form['actions']['submit']['#submit'][] = 'your_custom_handler_function_name';

Fondamentalement, $form['actions']['submit']['#submit'] est une liste de gestionnaires de soumission (un tableau) et vous ajoutez simplement le vôtre. Cela peut être un peu différent - vous devrez inspecter et voir la structure exacte. N'oubliez pas de vider le cache après avoir ajouté votre fonction!

Ensuite, votre gestionnaire d'envoi personnalisé sera appelé lorsque le formulaire est soumis afin que, dans votre fonction, vous puissiez envoyer un e-mail avec un PDF en pièce jointe.

Votre gestionnaire d'envoi personnalisé doit ressembler à ceci:

function your_custom_handler_function_name($form, FormStateInterface $form_state) {
...

Pour envoyer des e-mails avec des pièces jointes, vous devrez installer un module supplémentaire, comme Swift Mailer:

https://www.drupal.org/project/swiftmailer

Ou quelque chose de similaire.

0
MilanG 31 août 2020 à 09:48