Comment utiliser [soumission: valeurs] dans le modèle d'e-mail dans les formulaires Web


9

J'ai le module de version Webform 7.x-4.0-alpha6 activé.

J'ai un nœud Webform avec 20 composants de formulaire. J'ai ajouté un e-mail dans Email Setting et j'ai créé le modèle d'e-mail dans lequel j'ai utilisé le jeton: [soumission: valeurs] .

Ensuite, je teste le formulaire Web en soumettant un message. Le problème est que [soumission: valeurs] imprime les valeurs des composants d'une manière très simple, pas de ligne de rupture, pas de point-virgule pour faire la différence entre le titre et la valeur de chaque composant. Quelque chose comme:

Name Jhon
Addresss Myaddress 12 
CP 19932
....

Le fait d'avoir 20 composants rend l'e-mail complètement illisible

Ma question est: existe-t-il un moyen (un jeton) de les imprimer de manière meilleure, au moins en ajoutant un point-virgule entre le titre et la valeur, et en rendant le titre en gras ? ou mettre la sortie dans une table?

    Name: Jhon
    Addresss: Myaddress 12 
    CP: 19932

Je sais que je peux imprimer les composants de manière séparée en utilisant les jetons: [webform: {component} -title] pour le titre et [webform: {component} -value] pour la valeur

Et puis je peux les coiffer. Mais c'est une perte de temps car j'ai besoin que tous les composants soient affichés dans le modèle d'e-mail

Mise à jour: j'ai trouvé ce module mais ne m'aide pas: http://drupal.org/project/webform_tokens

Réponses:


10

Je n'ai pas un tel problème, mais je sais comment obtenir des valeurs spéciales à partir du formulaire Web.

Jetons de formulaire Web à partir des données soumises. Inclut la valeur et l'étiquette de champ. Remplacez le " ?" par la " Clé de champ ". Ajoutez " :nolabel" pour juste la valeur.

Ainsi, vous pouvez utiliser [submission:values:?:nolabel], où ?est la clé de champ de votre composant.

 Name: [submission:values:name:nolabel]
 Address: [submission:values:address:nolabel]

Pour moi, le résultat est le même que pour [submission:values]:

Nom: Kate
Adresse: Moscou, Russie :)

Version du formulaire Web: 7.x-4.0-alpha6 (7404).

Le module Webform Tokens n'est pas nécessaire.

Mise à jour

Si vous utilisez le courrier HTML, les étiquettes sont sorties via theme_form_element_labelet ressemblent à <label>Title</label>\n.

Vous pouvez remplacer webform-submission.tpl.php. Copiez ce fichier dans le thème de rendu des e-mails admin/config/system/mailsystem.
Pour ajouter, :je suggère simplement de modifier le tableau de rendu:

if ($format == 'html') {
  foreach ($renderable as $i => $item) {
    if (is_array($item) && !empty($item['#title'])) {
      $renderable[$i]['#title'] .= ':';
    }
  }
}

print drupal_render_children($renderable);

Mais vous pouvez produire vous-même des substitutions.


2
ce que vous avez dit est une option valable, mais je dois répéter cette ligne 20 fois. Je recherche une ligne pour sortir les 20 composants à la fois.
chefnelone

@chefnelone J'ai mis à jour ma réponse.
kalabro

Je pense que vous êtes proche mais ... J'utilise juste la fonction dpm pour le tableau $ renderable et il n'y a pas $ item ['# title'] à l'intérieur. Vous utilisez peut-être la version 3 du formulaire Web. J'utilise la version 4 beta6. Regardez ma capture: content.screencast.com/users/chefnelone/folders/Snagit/media/…
chefnelone

1
Votre code est correct. C'est juste que je suis en train d'imbriquer les composants du formulaire Web et je vais devoir changer cette ligne if (is_array($item) && !empty($item['#title'])) {pour qu'elle fonctionne.
chefnelone

1

Utilisez l' option Envoyer un e-mail au format HTML du formulaire Web.

Ceci est disponible si vous installez les modules Mime Mail et Mail System , puis accédez à admin/config/content/webformet définissez le format sur HTML .


0

Notez également que si vous utilisez un composant Grid , vous devez appeler ce jeton avec la clé de champ, puis la clé de question. Les grilles sont souvent utilisées si vous effectuez une enquête, par exemple, et que vous demandez aux gens d'évaluer quelque chose sur une échelle de 1 à 3, en utilisant des boutons radio pour chaque ligne, tels que:

Exemple de question:

Classez ce qui suit avec 1 = élevé, 3 = le plus bas

+---------------+-----+-----+-----+
|   Breweries   |  1  |  2  |  3  |
+---------------+-----+-----+-----+
| Lighthouse    | [o] | [o] | [o] |
| Phillips      | [o] | [o] | [o] |
| Whistler      | [o] | [o] | [o] |
+---------------+-----+-----+-----+

Pour imprimer la valeur de la réponse de la question 2 uniquement, vous utiliseriez:
La valeur de la question 2 de la bière était: [soumission: valeurs: my_beer_field: phillips]

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.