Verwendung von [Übermittlung: Werte] in der E-Mail-Vorlage in Webforms


9

Ich habe das Versionsmodul Webform 7.x-4.0-alpha6 aktiviert.

Ich habe einen Webform-Knoten mit 20 Formularkomponenten. Ich habe eine E-Mail in der E-Mail-Einstellung hinzugefügt und die E-Mail-Vorlage erstellt, in der ich das Token verwendet habe: [Übermittlung: Werte] .

Dann teste ich das Webformular, das eine Nachricht sendet. Das Problem ist, dass [Submission: Values] die Komponentenwerte auf sehr einfache Weise druckt, ohne Unterbrechungslinie, ohne Semikolon, um zwischen dem Titel und dem Wert für jede Komponente zu unterscheiden. Etwas wie:

Name Jhon
Addresss Myaddress 12 
CP 19932
....

Mit 20 Komponenten ist die E-Mail völlig unlesbar

Meine Frage ist: Gibt es eine Möglichkeit (ein Token), sie besser zu drucken, zumindest ein Semikolon zwischen Titel und Wert einzufügen und den Titel fett zu machen ? oder die Ausgabe in eine Tabelle setzen?

    Name: Jhon
    Addresss: Myaddress 12 
    CP: 19932

Ich weiß, dass ich die Komponenten getrennt ausdrucken kann, indem ich die Token [webform: {component} -title] für den Titel und [webform: {component} -value] für den Wert verwende

Und dann kann ich sie stylen. Dies ist jedoch Zeitverschwendung, da alle Komponenten in der E-Mail-Vorlage angezeigt werden müssen

Update: Ich habe dieses Modul gefunden, aber es hilft mir nicht: http://drupal.org/project/webform_tokens

Antworten:


10

Ich habe kein solches Problem, aber ich weiß, wie man spezielle Werte von Webform erhält.

Webform-Token aus übermittelten Daten. Enthält den Wert und die Feldbezeichnung. Ersetzen Sie das " ?" durch die " Feldtaste ". Fügen Sie " :nolabel" nur für den Wert hinzu.

Sie können also verwenden [submission:values:?:nolabel], wo ?sich der Feldschlüssel Ihrer Komponente befindet.

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

Für mich ist das Ergebnis das gleiche wie für [submission:values]:

Name: Kate
Adresse: Moskau, Russland :)

Webform-Version: 7.x-4.0-alpha6 (7404).

Das Webform-Token-Modul wird nicht benötigt.

Aktualisieren

Wenn Sie HTML-Mail verwenden, werden Beschriftungen über ausgegeben theme_form_element_labelund sehen so aus <label>Title</label>\n.

Sie können überschreiben webform-submission.tpl.php. Kopieren Sie diese Datei in das Design, aus dem die E-Mails gerendert werden sollen admin/config/system/mailsystem.
Zum Hinzufügen :schlage ich vor, nur das Render-Array zu ändern:

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

print drupal_render_children($renderable);

Sie können Substitutionen jedoch vollständig selbst ausgeben.


2
Was Sie gesagt haben, ist eine gültige Option, aber ich muss diese Zeile 20 Mal wiederholen. Ich suche eine einzige Zeile, um alle 20 Komponenten gleichzeitig auszugeben.
Chefnelone

@chefnelone Ich habe meine Antwort aktualisiert.
Kalabro

Ich denke, Sie sind nah dran, aber ... Ich verwende nur die dpm-Funktion für das $ renderable-Array und es ist kein $ item ['# title'] darin. Vielleicht sind Sie auf dem Webformular Version 3. Ich verwende Version 4 Beta6. Schauen Sie sich meine Aufnahme an: content.screencast.com/users/chefnelone/folders/Snagit/media/…
chefnelone

1
Ihr Code ist richtig. Ich verschachtele nur die Webform-Komponenten und muss diese Zeile ändern if (is_array($item) && !empty($item['#title'])) {, damit sie funktioniert.
Chefnelone

1

Verwenden Sie E-Mail senden als HTML- Option des Webformulars.

Dies ist verfügbar, wenn Sie die Module Mime Mail und Mail System installieren admin/config/content/webformund dann das Format auf HTML einstellen .


0

Beachten Sie außerdem, dass Sie bei Verwendung einer Grid- Komponente dieses Token sowohl mit dem Feldschlüssel als auch mit dem Fragenschlüssel aufrufen müssen. Raster werden häufig verwendet, wenn Sie beispielsweise eine Umfrage durchführen und Personen auffordern, etwas auf einer Skala von 1 bis 3 zu bewerten, indem Sie Optionsfelder für jede Zeile verwenden, z. B.:

Beispielfrage:

Ordnen Sie Folgendes mit 1 = hoch, 3 = niedrig ein

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

Um den Wert der Antwort von Frage 2 auszudrucken, verwenden Sie:
Bier Der Wert von Frage 2 lautete: [Übermittlung: Werte: my_beer_field: phillips]

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.