Jak korzystać z [przedłożenie: wartości] w szablonie wiadomości e-mail w formularzach internetowych


9

Mam włączony moduł wersji Webform 7.x-4.0-alpha6.

Mam węzeł formularza internetowego z 20 składnikami formularza. Dodałem jeden e-mail w ustawieniach e-mail i utworzyłem szablon e-maila, w którym użyłem tokena: [submission: values] .

Następnie testuję formularz internetowy wysyłający wiadomość. Problem polega na tym, że [submission: values] drukuje wartości składników w bardzo prosty sposób, bez linii podziału, bez średnika, aby różnica między tytułem a wartością dla każdego składnika. Coś jak:

Name Jhon
Addresss Myaddress 12 
CP 19932
....

Posiadanie 20 elementów sprawia, że ​​e-mail jest całkowicie nieczytelny

Moje pytanie brzmi: czy istnieje sposób (token), aby wydrukować je w lepszy sposób, przynajmniej dodając średnik między tytułem a wartością i czyniąc tytuł pogrubionym ? lub umieszczenie danych wyjściowych w tabeli?

    Name: Jhon
    Addresss: Myaddress 12 
    CP: 19932

Wiem, że mogę wydrukować komponenty w oddzielny sposób, używając tokenów: [webform: {component} -title] dla tytułu i [webform: {component} -value] dla wartości

A potem mogę je stylizować. Ale to marnuje czas, ponieważ potrzebuję pokazać wszystkie komponenty w szablonie e-maila

Aktualizacja: Znalazłem ten moduł, ale nie pomaga mi: http://drupal.org/project/webform_tokens

Odpowiedzi:


10

Nie mam takiego problemu, ale wiem, jak uzyskać specjalne wartości z formularza internetowego.

Tokeny formularzy internetowych z przesłanych danych. Zawiera wartość i etykietę pola. Zamień „ ?” na „ Field Field ”. Dołącz „ :nolabel” tylko dla wartości.

Możesz więc użyć [submission:values:?:nolabel], gdzie ?jest klucz pola twojego komponentu.

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

Dla mnie wynik jest taki sam jak dla [submission:values]:

Imię i nazwisko: Kate
Adres: Moskwa, Rosja :)

Wersja internetowa: 7.x-4.0-alpha6 (7404).

Moduł tokenów Webform nie jest potrzebny.

Aktualizacja

Jeśli używasz poczty HTML, etykiety są wyprowadzane przez theme_form_element_labeli wyglądają jak <label>Title</label>\n.

Możesz zastąpić webform-submission.tpl.php. Skopiuj ten plik do motywu, z którego będą renderowane wiadomości e-mail admin/config/system/mailsystem.
Aby dodać :, sugeruję po prostu zmodyfikować tablicę renderowania:

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

print drupal_render_children($renderable);

Ale możesz samodzielnie wysyłać podstawienia.


2
to, co powiedziałeś, jest prawidłową opcją, ale muszę powtórzyć ten zestaw linii 20 razy. Szukam jednego wiersza, aby wyprowadzić wszystkie 20 komponentów jednocześnie.
chefnelone

@chefnelone Zaktualizowałem swoją odpowiedź.
kalabro

Myślę, że jesteś blisko, ale ... Po prostu używam funkcji dpm dla tablicy $ renderowalnej i nie ma w niej $ item ['# title']. Być może korzystasz z formularza internetowego w wersji 3. Używam wersji 4 beta6. Spójrz na moje zdjęcie: content.screencast.com/users/chefnelone/folders/Snagit/media/…
chefnelone

1
Twój kod jest poprawny. Po prostu zagnieżdżam komponenty formularza internetowego i muszę zmienić tę linię, if (is_array($item) && !empty($item['#title'])) {aby działała.
chefnelone

1

Użyj opcji Wyślij e-mail jako opcję HTML formularza internetowego.

Jest to dostępne, jeśli zainstalujesz moduły Mime Mail i Mail System , a następnie przejdź do admin/config/content/webformi ustaw Format na HTML .


0

Pamiętaj również, że jeśli używasz komponentu Grid , musisz wywołać ten token zarówno za pomocą klucza pola, a następnie klucza pytania. Siatki są często używane, na przykład podczas przeprowadzania ankiety i proszenia ludzi o ocenę czegoś w skali 1-3, przy użyciu przycisków opcji dla każdego wiersza, takich jak:

Przykładowe pytanie:

Uszereguj następująco: 1 = wysoka, 3 = najniższa

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

Aby wydrukować wartość odpowiedzi na pytanie 2, należy użyć:
Piwo Pytanie 2 to: [submission: values: my_beer_field: phillips]

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.